64

Content-LengthHTTP/1.0 响应是否需要标头?HTTP规范提到它是请求所必需的,但没有提到任何关于响应的内容:

http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#Content-Length

所有包含实体主体的 HTTP/1.0 请求消息都需要有效的 Content-Length 字段值。

如果响应不需要它,当响应大于 1MB 时,客户端如何读取响应?

4

1 回答 1

66

规范的第 10.4 节(您链接到)没有说明对响应本身的要求,而是链接到第 7.2.2 节,该节指定服务器可以通过以下方式指示包含实体主体的响应的长度

  • 发送Content-Length标头,或
  • 发送整个响应后关闭连接。

第 7.2 节说对HEAD请求的响应以及 1xx、204 或 304 响应不应包含实体主体,因此无需包含Content-Length标头;和

所有其他响应必须包含一个实体主体或一个Content-Length定义为零 (0) 值的标头字段。

所以回答这个问题:当没有Content-Length收到时,客户端会继续读取,直到服务器关闭连接。

于 2013-04-14T02:27:51.440 回答