Chr*_*ris 8 https http http-head asp.net-mvc-3
我们有一个ASP.Net MVC3站点只能通过HTTPS访问,方法是使用控制器上的RequireHTTPS属性.
我们收到了许多HTTP HEAD方法请求,主要来自看似Twitter的机器人.默认的ASP.Net/MVC3响应是'500内部服务器错误',正在被elmah和log4net捕获/记录(现已过滤掉!).
我可以根据这个问题编写一个特定的控制器和路由来处理这些非HTTPS请求 - 在asp.NET MVC 3中响应HEAD请求.
但是,从机器人的角度来看,最好的反应是什么呢?200显示服务器是活动的,302重定向到HTTPS网址,还是坚持500,因为网站无法通过HTTP访问?
你可以回应
405 Method Not Allowed
Run Code Online (Sandbox Code Playgroud)
意思是
Request-URI 标识的资源不允许使用 Request-Line 中指定的方法。响应必须包含一个允许标头,其中包含所请求资源的有效方法列表。
或与
501 Not Implemented
Run Code Online (Sandbox Code Playgroud)
意思是
服务器不支持完成请求所需的功能。当服务器无法识别请求方法并且无法支持任何资源时,这是适当的响应。
就我个人而言,我会选择“嘿,伙计,我们这里不提供这些东西”,405因为这是客户端的错误。对我来说,这似乎比“你到底在说什么?我听不懂”更合适。一、后者是服务器无法识别请求方法位描述的提示。501
所有HTTP状态代码:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
| 归档时间: |
|
| 查看次数: |
3938 次 |
| 最近记录: |