HTTP'HEAD'动词在Web开发中是否有用?

时间:2009-09-22 18:52:30

标签: http httpverbs

我读过w3.org spec on the 'HEAD' verb,我想我错过了什么。我看不出它会如何有用。

HTTP'HEAD'动词在Web开发中是否有用?

若然,怎么样?

3 个答案:

答案 0 :(得分:50)

来自RFC2616

  

此方法(HEAD)可用于获取   关于实体的元信息   没有提出要求所暗示的   转移实体 - 身体本身。   此方法通常用于测试   有效性的超文本链接,   可访问性,最近   修改

HEAD优先于GET的原因是由于响应中没有消息正文,因此在您想要确定内容是否已发生更改的情况下使用它 - 上次修改时间或内容的更改长度通常表示这一点。

此外,HEAD请求将提供有关服务器设置的一些信息(无论是IIS / Apache等),除非服务器被屏蔽;当然,这在所有响应中都可用,但是当您不知道响应的大小时,HEAD是首选。 HEAD也是确定网站是上升还是下降的最简单方法;再次,消息体的无关性使HEAD成为理想的候选者。

我不确定这一点,但RSS / ATOM Feed阅读器会使用HEAD over GET来确定Feed的内容是否已更改。

答案 1 :(得分:24)

在对某些大型数据进行HTTP PUT / POST之前,HTTP HEAD还可用于对Web服务器进行预身份验证。如果没有第一个HEAD请求,您将把大数据发送到Web服务器两次(因为第一个请求将返回401未经授权的响应,并带有WWW-authenticate标头)。

答案 2 :(得分:3)

主要是浏览器和代理确定他们是否可以使用Web文档的缓存副本而无需下载整个内容(这样可能会破坏缓存的目的)。