16

根据 RFC http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。此方法可用于获取有关请求所隐含的实体的元信息,而无需传输实体主体本身。这种方法通常用于测试超文本链接的有效性、可访问性和最近的修改。

对 HEAD 请求的响应可能是可缓存的,因为响应中包含的信息可以用于从该资源更新先前缓存的实体。如果新字段值表明缓存的实体与当前实体不同(如 Content-Length、Content-MD5、ETag 或 Last-Modified 的变化所表明的那样),则缓存必须将缓存条目视为陈旧的。

从这个定义来看,我们是否必须返回200诸如相应的 GET 操作,或者我们是否应该204因为没有内容而必须返回?

就个人而言,我认为更好的解释是使用204状态码。你的解释是什么?

4

1 回答 1

25

请参阅第 10 节,其中描述了状态代码。代码描述200包括示例,它们包括HEAD. 所以很明显他们打算让HEAD请求返回这个代码。

的描述204解释了目的:

这个响应主要是为了允许输入动作发生而不改变用户代理的活动文档视图,尽管任何新的或更新的元信息应该应用于当前在用户代理的活动视图中的文档。

于 2013-11-01T00:40:52.000 回答