从RFC2616中得知:
HEAD方法可以用于获取请求所涉及的实体的元信息,而无需传输实体本身。该方法通常用于测试超文本链接的有效性、可访问性和最近修改。
相比GET方法,HEAD方法优先使用是因为响应中没有消息体,这使它在想要确定内容是否有更改的情况下很有用——最后修改时间或内容长度的变化通常表示这一点。
此外,HEAD请求会提供有关服务器设置的一些信息(是否为IIS / Apache等),除非服务器被掩盖;当然,这在所有响应中都可以获得,但在不知道响应大小的情况下,尤其是在想要检查站点是否正常运行时,HEAD是最简单的方法。头请求也是确定站点是否可用的最简单方法;同样,消息体的无关性使HEAD成为理想的选择。
我不确定,但RSS / ATOM订阅阅读器会使用HEAD方法来确定源的内容是否发生变化。
在进行HTTP PUT/POST上传大量数据之前,可以使用HTTP HEAD预先对Web服务器进行身份验证。如果没有第一个头请求,您将向Web服务器发送两次大数据(因为第一次请求会返回带有WWW-authenticate标头的401未经授权响应)。
这主要是为了帮助浏览器和代理服务器判断是否可以使用缓存的网页文档,而不必下载整个文档(这样做会使缓存失去意义)。
If-Modified-Since
或If-None-Match
(例如,在重新加载此页面时,查看浏览器网络日志中的“304 Not Modified”响应)。而且在HTTP/1.1版本中,HEAD方法(至少理论上)已经完全被Range: bytes=0-0
替代。 - Søren Løvborg