HTTP HEAD方法为动态生成的文件获取什么响应头?

时间:2016-06-24 07:40:00

标签: http chunked http-chunked

http spec说明了HEAD请求:

  

HEAD方法与GET相同,只是服务器不能   在响应中返回一个消息体。元信息包含   在HTTP头中响应HEAD请求应该是相同的   响应GET请求而发送的信息。

also

  

Content-Length实体标题字段指示的大小   entity-body,以十进制数字表示的OCTET,发送给收件人或者   HEAD方法的情况,即实体的大小   如果请求是GET,则已被发送。

因此,如果动态生成所请求的资源,对于HEAD请求,是否会生成资源 ALSO ?是否应该有Content-Length标题或Transfer-Encoding: chunked标题?

(我觉得这是关于如何实现HTTP协议的。)

ADD 1

我没有看到规范要求whether to发送Content-Length标头或how to发送动态生成的资源。这种动态资源将与分块传输编码一起发送,如果使用Content-Length方法访问,则不会有GET头。因此,如果HEAD响应应该模仿GET响应,则不应发送Contnet-Length。

1 个答案:

答案 0 :(得分:1)

a)这不是HTTP规范。它是1999年过时的RFC 2616的W3C副本。

b)有关当前规范,请参阅https://greenbytes.de/tech/webdav/rfc7231.html#HEAD

回答你的问题:如果你不知道有效载荷大小而没有实际生成它,那么在HEAD响应中不发送Content-Length就可以了。