当已经有HTTP状态代码时,为什么会有HTTP状态消息?

时间:2019-04-14 13:06:38

标签: http http-status-codes

HTTP响应可能类似于:

HTTP/1.1 200 OK

我认为200已经告诉客户可以了,因此OK可以省略。那么现有的方法是什么?

2 个答案:

答案 0 :(得分:1)

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

  

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

答案 1 :(得分:1)

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

尽管您的问题与HTTP / 1.1协议有关,但我想强调一下,HTTP / 2响应不包含任何原因短语。它们仅包含RFC 7540中定义的状态代码:

  

对于HTTP / 2响应,定义了一个单独的:status伪头字段,该字段带有HTTP状态代码字段。该伪报头字段必须包含在所有响应中;否则,响应格式不正确。

     

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