Yar*_*rin 6 http http-status-codes web
您将返回哪个HTTP状态代码表示浏览器不受支持?我查看了4xx(客户端错误)代码,但似乎都没有.
And*_*e D 12
403 Forbidden 是最合适的.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4说:
服务器理解请求,但拒绝履行请求.
400 Bad Request 不是很合适,因为它暗示请求本身是畸形的,这可能不是真的.
但是,如果您正在构建网站,以这种方式禁止特定的Web浏览器并不是一个好习惯.尝试构建一个符合您的受众使用的所有浏览器的网站.如果您正在构建HTTP API,那么这是一个不同的故事,您应该使用安全机制来授权客户端.如果这就是您所需要的,请考虑OAuth.
编辑 2015年7月:较新的RFC 7231详细阐述了它的解释403,更清楚的是即使它不是凭证授权问题也可以使用.
https://tools.ietf.org/html/rfc7231#section-6.5.3(我加粗):
403(禁止)状态代码表示服务器理解请求但拒绝授权.希望公开请求被禁止的服务器可以在响应有效负载中描述该原因(如果有的话).
如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限.客户端不应该使用相同的凭据自动重复请求.客户端可以使用新的或不同的凭据重复请求.但是,出于与凭证无关的原因,可能会禁止请求.