现代浏览器是否会发出HTTP HEAD请求?

7

我知道HEAD请求是什么,以及它的用途。标准的现代浏览器会发送HEAD请求吗?如果会,是在什么情况下呢?


5
Chrome会发出HEAD请求来检查DNS服务器的行为。http://serverfault.com/questions/235307/unusual-head-requests-to-nonsense-urls-from-chrome - Dmitry Sadakov
1个回答

11
如果在 XMLHttpRequest 中明确请求,浏览器将发送一个 HEAD 请求,但我相当确定浏览器不会自己发送 HEAD 请求。我的证据是 Tornado web 服务器默认为 返回错误的 HEAD 请求,我从未听说过任何人遇到与此相关的问题(甚至意识到它)。HEAD 在我看来大多已经过时:在动态网站上,它不太可能比 GET 更有效,并且通常可以被以下替代之一所取代:

  • 带有 If-Modified-SinceIf-None-Match 的条件 GET(用于缓存)
  • 带有 Range 标头的部分 GET(用于流式传输视频等)
  • OPTIONS(用于 CORS 预检请求)

1
谢谢。我能想象到这种情况在下载之前会很有用(右键另存为)。首先发送一个HEAD请求,如果有content-length头部,确保有足够的磁盘空间来存储下载内容,以免浪费带宽。如果没有足够的空间,则不进行下载。 - MarkPflug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接