HTTP身份验证何时发生?是其中一个使用http:// peter:mypassword@www.somesite.com?

时间:2011-02-25 00:31:21

标签: http-authentication http-basic-authentication http-digest

似乎有2个HTTP身份验证:Basic access authenticationDigest access authentication

所以我认为一般来说,用户尝试访问URL,Web服务器返回401 Unauthorized,然后浏览器 弹出应用程序窗口,询问用户名和密码,然后在HTTP标头中设置凭据,然后再次发送HTTP请求。

http://peter:mypassword@www.somesite.com怎么样?是不应该等待401回来但提前提供用户名和密码? 一些如何,我尝试http://peter:mypassword@www.google.com或雅虎但在Fiddler内部(监控网络流量),我没有在HTTP请求中看到任何凭证信息?

2 个答案:

答案 0 :(得分:2)

您仍然需要在服务器端发送401。用户:pass @ host只是为了避免显示登录对话框。

如果您考虑一下,这是有道理的,因为如果您不发送带有标题的401解释使用哪种方法,则客户端不知道如何格式化凭证。

(实际上有许多方案,不仅仅是基本和摘要。)

答案 1 :(得分:0)

为了理解它,有一个Railscast讨论HTTP基本身份验证并将其添加到Rails项目以及它在浏览器上的样子:http://railscasts.com/episodes/82-http-basic-authentication