我开始喜欢HTTP,直到我发现某些状态代码like 304
不包含任何消息正文并由CRLF终止。
哪里是全面的清单?到目前为止,我得到了:100-199
,204
和304
。还有其他人吗?
编辑:不,不符合标准。谢谢你的回答。
我关注使用持久连接的消息分隔。即一个HTTP消息停止在哪里,下一个开始。
答案 0 :(得分:16)
对于所有4xx
错误代码,正文是可选的:
除了在响应HEAD请求时,服务器应该包含一个实体,其中包含对错误情况的解释,以及它是暂时的还是永久的。
5xx
:
除响应HEAD请求外,服务器应该包含一个包含错误情况说明的实体......
(应该是真的,他们应该,但不是必须的。)
据我所知,1xx
消息不包含正文。 201
(除204
和205
之外)不必拥有正文。 3xx
是一个混合包,但很多人都可选择身体。
来源:HTTP/1.1: Status Code definitions。
HTTP Message - 4.4 Message Length中描述了消息长度信息的规则。这不是一件容易的事。