可以退货吗HTTP 401如果您希望表明用户尚未登录,即使登录机制是基于表单而不是基于 HTTP(基本、摘要等),AJAX 调用响应的状态?
这里的答案建议应该使用 401:https://stackoverflow.com/a/6937030/2891365 https://stackoverflow.com/a/6937030/2891365
这篇文章展示了一个使用 401 进行 AJAX 响应的实际示例:http://www.bennadel.com/blog/2228-some-thoughts-on-handling-401-unauthorized-errors-with-jquery.htm http://www.bennadel.com/blog/2228-some-thoughts-on-handling-401-unauthorized-errors-with-jquery.htm
然而,HTTP/1.1 的 RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html明确指出需要一个特殊的标头,implying它只能用于 HTTP 身份验证。
10.4.2 401 未经授权
该请求需要用户身份验证。响应MUST包括一个WWW-Authenticate
标头字段(第 14.47 节)包含适用于所请求资源的质询。
我想我可以发送一个伪造的标头,例如WWW-Authenticate: WebForm
仍然符合 W3C 规范,但感觉它违反了 W3C 的精神WWW-Authenticate
header.
最后,我似乎找不到一个权威的来源来明确说明 AJAX 响应是否允许 HTTP 401。我错过了这方面的权威资料吗?
我想说这是不行的,因为 401 是告诉客户端提供 http 身份验证凭据。正确的响应是 403 Forbidden,简单地告诉客户端无论出于何种原因都不允许访问该资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)