繁体   English   中英

HTTP Server应该如何响应HEAD请求以进行分块编码

[英]How should HTTP Server respond to HEAD request for chunked encoding

我有一个问题,当将HEAD发送到资源并且服务器决定执行分块编码时,HTTP Server响应会如何?

如果服务器始终希望对特定资源上的GET执行分块编码,因为它在生成响应时不知道确切的内容长度,那么当在同一资源上发送HEAD时服务器应如何表现。

传输编码标头字段是有效负载的一个方面。 对于HEAD响应,您没有有效负载,因此没有Transfer-Encoding头字段; 即使将其用于GET。

根据W3C的规范

响应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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM