首页 新闻 赞助 找找看

关于浏览器http与https访问的问题

0
[已解决问题] 解决于 2017-04-19 13:19

有一个有趣的现象,在访问一个https的站点,比如 https://www.aaa.com,首次访问时,访问的地址是 http://www.aaa.com,(不加S),出现的是网站不可用,打不开,再次使用https进行访问,就能正常打开。随后在使用http协议进行访问,会自动重定向到https的域名,请问这是浏览器缓存之后自动重定向的行为,还是服务器端没有做好http到https站点的重定向?具体的原理是什么?我百度一下,没有相关的描述,求解答,不当之处,还请指出,谢谢。

恩恩先生的主页 恩恩先生 | 初学一级 | 园豆:188
提问于:2017-04-19 11:45
< >
分享
最佳答案
0

这是使用了 HSTS(HTTP Strict Transport Security) ,我写过1篇相关随笔 使用https的HSTS需要注意的一个问题

奖励园豆:5
dudu | 高人七级 |园豆:31075 | 2017-04-19 12:58

明白了,第一次访问http页面,由于服务器端没有做好301重定向,所以出现链接断开无法访问,第二次正常访问https站点时,支持HSTS的浏览器响应头含有Strict-Transport-Security: max-age=31536000;在接下来的一年(即31536000秒)中,浏览器只要向xxx或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 http://xxx/ ,浏览器应当自动将 http 转写成 https,然后直接向 https://xxx/ 发送请求。好的,非常感谢。

恩恩先生 | 园豆:188 (初学一级) | 2017-04-19 13:16
其他回答(1)
0

服务器端强制重定向行为。

如果有疑问,你可以打本地浏览器后台,用此页https://q.cnblogs.com/q/92796/做测试,

你直接访问http://q.cnblogs.com/q/92796/,在浏览器后台看看请求链就明白了。

就是看服务器端要求你明文传输,还是密文传输了,一般规则是:

公共页面或公共数据明文传输

用户特有页面或特有数据密文传输

主要是密文传输需要消耗更多的服务器性能,公共页面访问量通常最大。你好好理解一下估计就好明白了。

 

希望我的解释对你有所帮助。

牧师/preacher | 园豆:500 (菜鸟二级) | 2017-04-19 12:20

好的,非常感谢。

支持(0) 反对(0) 恩恩先生 | 园豆:188 (初学一级) | 2017-04-19 12:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册