我有一个问题,当一个头部被发送到一个资源,并且服务器决定执行分块编码时,HTTP服务器响应是什么样子的?
如果服务器总是希望对特定资源上的GET执行分块编码,因为它在生成响应时不知道确切的内容长度,那么当在同一资源上发送头部时,服务器应该如何行为。
发布于 2014-07-08 16:37:09
传输编码报头字段是有效载荷的一个方面。对于HEAD响应,您没有有效负载,因此没有Transfer-Encoding header字段;即使它将在GET时使用。
发布于 2015-01-10 01:59:49
根据W3C's specification的说法
响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求发送的信息相同。
这意味着如果对GET请求的响应包含Transfer-Encoding: chunked,则对相应HEAD请求的响应也应该包含该头部。
你可以在野外验证:
curl -I http://www.google.com/ # -I sends HEAD request
HTTP/1.1 200 OK Date: Fri, 09 Jan 2015 17:56:05 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Server: gws X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN Alternate-Protocol: 80:quic,p=0.02 Transfer-Encoding: chunked
https://stackoverflow.com/questions/24625620
复制相似问题