http 规范说明了 HEAD 请求:
HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。
还有:_
Content-Length entity-header 字段指示发送给接收者的实体主体的大小,以十进制的八进制数表示,或者在 HEAD 方法的情况下,将发送的实体主体的大小具有请求是 GET。
那么如果请求的资源是动态生成的,对于HEAD
请求,资源是否也会生成呢?应该有Content-Length
标题或Transfer-Encoding: chunked
标题吗?
(我觉得这是关于如何实现HTTP协议的。)
加 1
我没有看到规范要求whether to
发送 Content-Length 标头或how to
将其发送给动态生成的资源。Content-Length
这样的动态资源将使用分块传输编码发送,如果使用方法访问,则不会有标头GET
。因此,如果 HEAD 响应应该模仿 GET 响应,则也不应发送 Contnet-Length。