似乎有2个HTTP身份验证:Basic access authentication和Digest access authentication
所以我认为一般来说,用户尝试访问URL,Web服务器返回401 Unauthorized,然后浏览器 弹出应用程序窗口,询问用户名和密码,然后在HTTP标头中设置凭据,然后再次发送HTTP请求。
http://peter:mypassword@www.somesite.com怎么样?是不应该等待401回来但提前提供用户名和密码? 一些如何,我尝试http://peter:mypassword@www.google.com或雅虎但在Fiddler内部(监控网络流量),我没有在HTTP请求中看到任何凭证信息?
答案 0 :(得分:2)
您仍然需要在服务器端发送401。用户:pass @ host只是为了避免显示登录对话框。
如果您考虑一下,这是有道理的,因为如果您不发送带有标题的401解释使用哪种方法,则客户端不知道如何格式化凭证。
(实际上有许多方案,不仅仅是基本和摘要。)
答案 1 :(得分:0)
为了理解它,有一个Railscast讨论HTTP基本身份验证并将其添加到Rails项目以及它在浏览器上的样子:http://railscasts.com/episodes/82-http-basic-authentication