我在我的网络服务器 access.log 中看到了增加的“HEAD”请求。这些请求是为了什么?我应该在我的网络服务器配置中禁用此方法吗?
我应该禁用 http HEAD 请求吗?
链接中的相关引用:
头
请求与对应于 GET 请求的响应相同的响应,但没有响应正文。这对于检索写入响应标头中的元信息很有用,而无需传输整个内容。
如果禁用它,只会增加吞吐量成本。一个人可以通过 GET 获得相同的信息,因此如果他们试图做一些恶意的事情,他们可以只使用 GET。除了这样,他们很好,不会强迫你发送请求正文。
编辑:我不知道请求来自什么,尽管我当然可以想到用途。其他知道或想参与的人,请这样做。我有点好奇,我自己。因此,社区维基。
帕提亚人所说的一切都是正确的。HEAD 请求类似于“短”GET 请求,可避免网络额外流量和潜在的 GET 请求渲染开销。
您、您的浏览器或您的搜索引擎可能出于多种原因想要执行 HEAD 请求。一些网站可能只是从您那里获取元信息,而您的较小反应对您有利。更有可能您的浏览器或搜索引擎可能正在使用 HEAD 请求来查看您的页面的缓存版本是否仍然是最新的。
当您的页面被缓存时,客户端应该使用响应标头的“日期”和“过期”字段来确定他们下次访问您的站点进行更新的时间。此外,响应标头有时可能包含修改日期,该日期也可用于指示您的页面何时需要更新。
您阻止了 head 请求,并观察了来自卑鄙刮板的 GET 或 HEAD 请求的增加。然后您阻止了他们的 IPS。有趣的是,他们的机器人是如此愚蠢,以至于他们没有接受暗示并不断回来进行更多尝试。此时,您通过 301 重定向将它们发送到其他地方(即其他人的网站和带宽。例如,所有 INTERNET 搜索流量的 98% 仅来自 Google(86% 的市场份额)和 BING 和 YAHOO增加剩余的 12% ) - 绝对没有理由允许所有 SCUMMY 头部测试人员有任何访问权限。你不需要它们!它们是可消耗的。并且没有理由鼓励他们的流量。
我的网站每天处理近 100 万访问者……这 100 万 -500,000 来自毫无意义的内容抓取工具和几乎不使用的搜索引擎。通过阻止这些小丑,我释放了 50% 的带宽和服务器周期来处理合法流量。太糟糕了,Apache 和 Linus 背后的聪明露营者从来没有给我们一个 NULL,我们可以将无用的流量发送给我们。