为什么在存在HTTP状态代码时会出现HTTP状态消息?

问题描述 投票:0回答:2

HTTP响应可能如下所示:

HTTP/1.1 200 OK

我认为200已经告诉客户它没关系,并且OK作为回应可以省略。那么存在的方法是什么?

http http-status-codes
2个回答
1
投票

来自https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.3.1.2

原因 - 短语元素的唯一目的是提供与数字状态代码相关联的文本描述,主要是出于对交互式文本客户端更频繁使用的早期Internet应用程序协议的尊重。客户端应该忽略原因 - 短语内容。


1
投票

这样的消息被称为原因短语,并且如Julian Reschke's answer中所提到的,它仅提供与数字状态代码相关联的文本描述,并且应该被客户端忽略。短语的原因甚至可能是空的。

虽然您的问题是关于HTTP / 1.1协议,但我想强调HTTP / 2响应没有任何原因。它们只带有状态代码,如RFC 7540中所定义:

对于HTTP / 2响应,定义了一个携带HTTP状态代码字段的:status伪头字段。这个伪头字段必须包含在所有响应中;否则,反应是错误的。

HTTP / 2没有定义携带HTTP / 1.1状态行中包含的版本或原因短语的方法。

© www.soinside.com 2019 - 2024. All rights reserved.