我正在查看我的asp.net mvc网站,并考虑阻止IIS中的HEAD动词访问该网站。
我不明白为何目前需要或正在使用此类请求。
为什么网站上需要HEAD请求?
答案 0 :(得分:2)
上面发布的评论是正确的。据我所知,HEAD
请求是由浏览器发出的,用于检查诸如......我是否需要再次下载,页面是否仍然存在等等。基本上,如果浏览器想了解一个页面没有下载整个页面,它会发出HEAD
个请求。所以,简而言之,它们不是harmful thing to be happening。
但是,如果要阻止这些,可以使用以下语法(取自MSDN/IIS)在web.config中执行此操作
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="HEAD" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
但是,我认为这是一种非典型的设置,您可能希望在针对面向生产的网站启用此功能之前,在多个浏览器中测试您的网站的性能/中断。
答案 1 :(得分:0)
有些恶意扫描程序会发出大量HEAD请求,试图找到已知的易受攻击资源,例如可能允许他们上传恶意文件的文件上传组件。他们使用HEAD请求,因为它比GET请求更快,因为它没有响应主体,只有标题。
他们的意图不仅是恶意的,而且通过请求大量不存在的资源,他们可以将负载加载到您的服务器上。
另一方面,谷歌在决定是否重新获取某个页面时也使用HEAD请求来节省时间和带宽(即自我上次抓取以来它已经更改)。
理想情况下,您会找到一种方法来阻止恶意请求并允许来自Google / Web浏览器的合法请求。