使用ASP.NET MVC响应REQUEST_METHOD = HEAD请求

8

我有一个ASP.NET MVC网站,ELMAH向我展示了当接收到REQUEST_METHOD = HEAD的HTTP请求时我的网站发生错误。

如何使用ASP.NET MVC响应这些请求?

1个回答

7

使用[AcceptVerbs(HttpVerbs.Head)]属性标记方法,以响应头请求。将多个动词OR在一起,以添加更多的潜在方法,以便它可以响应多个请求动词。如果您没有任何限制,我认为您的方法已经标记了该属性,因此应该响应任何请求动词。顺便说一句,我认为很少会收到一个头请求,您能详细说明一下为什么和如何接收它吗?


谢谢。我的主控制器的索引方法是使用HEAD请求的方法。它目前设置为AcceptVerbs(HttpVerbs.GET)。我想我也需要添加一个HttpVerbs.Head。至于为什么会收到这个请求,我真希望自己更清楚一些。我只知道我定期从ELMAH收到错误电子邮件,显示“在控制器'Web.Controllers.HomeController'上找不到公共操作方法'Index'”。详细信息显示REQUEST_METHOD是HEAD。我不认识请求来自哪个IP地址。也许是蜘蛛/爬虫? - Kevin Pang
除非是你的代码在发出请求,否则我不会添加动词。你可能想要响应这个请求,但我认为大多数蜘蛛/爬虫都会执行完整的GET。顺便说一下,当Google爬取我的网站时,我没有看到这些东西。 - tvanfosson
3
我也从网络爬虫那里获得了这个。这真是令人头疼的事情。 - Schotime

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