我對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。 –