![](/img/trans.png)
[英]HTTP response headers valid with no Transfer-Encoding and Content-Length?
[英]What happens in HTTP response to a GET request without Content-Length or Transfer-encoding?
如果对GET请求的响应没有Content-Length或Transfer-encoding:chunked字段,会发生什么? 客户如何知道消息何时结束?
RFC 7230第3.3.3节包含一个很好的查找邮件正文大小的条件清单。 基本上它说答案取决于状态代码是什么。 相关条件是#1和#7。
“1.任何响应...具有1xx(信息),204(无内容)或304(未修改)状态代码始终由标题字段后的第一个空行终止,而不管标题字段中是否存在标题字段。消息,因此不能包含消息体。“
“7.否则,这是一条没有声明消息体长度的响应消息,因此消息体长度由服务器关闭连接之前接收的八位字节数决定。”
还值得知道消息可能在身体部分结束后继续。 RFC 7230第4.4节定义了一个预告片功能,其中有效载荷可以跟随第二组mime标头。 如果存在,则消息结束。
根据规范
消息正文的长度由以下之一确定(按优先顺序排列):
- [...]
- 否则,这是没有声明的消息体长度的响应消息,因此消息体长度由服务器关闭连接之前接收的八位字节数确定。
客户端需要检测连接是否已关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.