0

例如,我有兴趣尝试找出用户输入时发生的确切情况

https://www.bing.com

这让他们

http://www.bing.com

如果您注意到,www.bing.com 显然不支持 https,因此返回的页面没有与之关联的证书。浏览器不应该抱怨这个吗?更重要的是,在查看 HTTP 标头时,我从未真正看到 ridirect 或任何表明返回的页面不是 https 版本的东西(我猜我期待有一些迹象表明这种情况发生了)。

再举一个例子,gmail 做了类似的事情——

我去https://gmail.com

我最终取决于mail.google.comaccounts.google.com取决于我是否登录。至少这些网站给了我一个证书,不像 bing,但是浏览器为什么不抱怨 URL 不匹配呢?看来我也应该获得 gmail.com 的证书,对吧?(gmail 重定向上的证书对 mail.google.com 有好处,但没有提及通配符或 gmail.com 的其他内容)

4

1 回答 1

1

没有什么特别的事情发生。这是一个简单的 HTTP 重定向,但只有在忽略 SSL 证书错误时才会看到它。(https://www.bing.com目前提供颁发给 akamai 的证书。)请记住,一旦您告诉浏览器忽略证书错误,它通常会在会话的其余部分记住该选择。

如果您指示浏览器忽略 SSL 证书错误,则会在SSL 加密连接中发生以下情况:

GET https://www.bing.com/ HTTP/1.1
Host: www.bing.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.73 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,es;q=0.6

HTTP/1.1 302 Moved Temporarily
Server: AkamaiGHost
Content-Length: 0
Location: http://www.bing.com/
Date: Thu, 02 May 2013 22:02:28 GMT
Connection: keep-alive

没有针对 HTTPS 站点重定向到普通 HTTP 1的规则,因此浏览器只是对http://www.bing.com进行正常请求。因为我们现在是在一个普通的 HTTP 页面上,所以没有任何关于证书的显示(警告或其他)。

1 - 除了在某些涉及POST请求的情况下,某些浏览器会发出警告。

您提到的其他网站的工作方式类似,除了从 gmail.com 重定向到https://mail.google.com。mail.google.com 有自己的证书,不同于https://www.gmail.com的证书。

于 2013-05-02T22:14:20.063 回答