【发布时间】:2014-10-05 20:24:59
【问题描述】:
如果您希望传达用户未登录的信息,是否可以返回 HTTP 401 状态以响应 AJAX 调用,即使登录机制是基于表单的而不是基于表单的基于 HTTP(基本、摘要等)?
这里的答案建议应该使用 401: https://stackoverflow.com/a/6937030/2891365
这篇文章展示了一个使用 401 进行 AJAX 响应的实际示例:http://www.bennadel.com/blog/2228-some-thoughts-on-handling-401-unauthorized-errors-with-jquery.htm
但是,RFC 2616 for HTTP/1.1 明确指出需要一个特殊的标头,暗示它只能用于 HTTP 身份验证。
10.4.2 401 未经授权
请求需要用户身份验证。响应必须包含一个
WWW-Authenticate标头字段(第 14.47 节),其中包含适用于所请求资源的质询。
我想我可能可以发送像 WWW-Authenticate: WebForm 这样的虚假标头,并且仍然符合 W3C 规范,但感觉它违反了 WWW-Authenticate 标头的精神。
最后,我似乎找不到明确说明 HTTP 401 是否允许用于 AJAX 响应的权威来源。有没有我错过的权威来源?
【问题讨论】:
标签: ajax http authentication http-response-codes www-authenticate