我对Web浏览器的基本身份验证有点困惑。我曾经认为Web浏览器在收到前一个响应中的HTTP 401状态后才会发送Authorization标头。不过,Chrome看起来会随后向每个请求发送授权标头。它具有我从我的网站上为401响应而输入的数据,并随每条消息一起发送(根据Chrome和我的网络服务器附带的开发人员工具)。那是预期的行为?是否有一些标题我应该用我的401来推断授权的东西不应该被缓存?我目前正在使用WWW-Authenticate标头。了解基本身份验证与401
1
A
回答
7
这是为RFC 2617 (Section 2)定义浏览器的预期行为:
A client SHOULD assume that all paths at or deeper than the depth of
the last symbolic element in the path field of the Request-URI also
are within the protection space specified by the Basic realm value of
the current challenge. A client MAY preemptively send the
corresponding Authorization header with requests for resources in
that space without receipt of another challenge from the server.
Similarly, when a client sends a request to a proxy, it may reuse a
userid and password in the Proxy-Authorization header field without
receiving another challenge from the proxy server. See section 4 for
security considerations associated with Basic authentication.
据我所知,基本HTTP认证没有进行注销/重新认证的能力。这同时缺乏HTTP基本认证的安全性,这就是为什么大多数网站现在都使用表单和Cookie进行认证的解决方案。
1
从RFC 2617:
如果事先请求已被授权,则 相同的凭证可以是用于该 保护空间内的所有其它请求一段由 认证方案,参数确定的时间重新使用和/或用户偏好。
从我的经验看,浏览器会自动发送基本凭据以供后续请求使用。它可以防止为额外的资源做额外的往返。
相关问题
- 1. 与基本身份验证的HTTP基本身份验证
- 2. OWIN身份验证与IIS基本身份验证
- 3. 基本身份验证改造+基本身份验证
- 4. JSP 401身份验证
- 5. Twitter4j 401身份验证
- 6. HttpWebRequest 401与NTLM身份验证
- 7. 基本socket.io身份验证
- 8. tomcat基本身份验证
- 9. Apache基本身份验证
- 10. CQ基本身份验证
- 11. Wcf基本身份验证
- 12. 基本HTTP身份验证
- 13. AngularJS基本身份验证
- 14. 基本身份验证
- 15. Ruby基本身份验证
- 16. 基本身份验证
- 17. Solr索引与基本身份验证
- 18. 问题与基本身份验证
- 19. http基本身份验证与vert.x
- 20. 翻新基本身份验证与requestInterceptor
- 21. TouchJSON与基本的HTTP身份验证
- 22. HTTP基本身份验证与Authlogic
- 23. 重置基本身份验证 - 与
- 24. WCF与Http基本身份验证
- 25. 与NSURLSession的HTTP基本身份验证
- 26. CakePHP 2基本身份验证验证
- 27. ASP.NET MVC与表单身份验证和WebApi与基本身份验证
- 28. 排除带有基本HTTP身份验证的AuthFailureError(401)
- 29. 401错误 - 使用AFNetworking的基本身份验证AFHTTPClient&Tastypie
- 30. Spring云Zuul网关401基本身份验证
你是对的。 '注销'在基本身份验证的范围内是没有意义的,因为安全令牌在每个请求*中发送*。实质上,每个HTTP请求都是单独验证的。您可以强制浏览器停止身份验证,例如,请参阅http://stackoverflow.com/questions/5957822/how-to-clear-basic-authentication-details-in-chrome。 –