不指定 http 或者 https 协议背后的逻辑是怎样的?

2018-06-12 11:32:54 +08:00
 vevlins

浏览器怎么判断加哪一个?

1629 次点击
所在节点    前端开发
5 条回复
noe132
2018-06-12 11:47:06 +08:00
根据当前页面,自动使用 https 或 http。
hlwjia
2018-06-12 11:53:53 +08:00
浏览器默认是 http 的(毕竟不是所有网站都支持 https ),是到了服务器之后再 301 到 https
vevlins
2018-06-12 11:58:43 +08:00
@noe132 问题就是这个自动 是浏览器后台发了一个请求去判断还是什么? 比如像自己做的 app,会不会按照客户端能力检测自己加上而不需要请求判断
honeycomb
2018-06-12 12:08:09 +08:00
@vevlins 见楼上 @noe132 的,访问某个(不特定)页面,网站发了 301 跳转。
这种情况是建立了 HTTP 会话后,再重新建立 TLS+HTTPS

还有一种情况是 hsts,此时浏览器会主动强制访问 HTTPS 版的地址(即便用户输入了 HTTP ),且拒绝降级到 HTTP
MonoLogueChi
2018-06-13 00:56:02 +08:00
是指链接里不制定协议吗,比如 //www.baidu.com
这样的浏览器会根据当前页面的协议去主动请求,你用的 HTTP 就是 HTTP,你用的 HTTPS 就是 HTTPS。也就是一楼所说的。
然后再接下来就是 4 楼所说的,如果服务器支持 HTTP 请求,那就是 HTTP,如果是强制 HTTPS,就是 HTTPS

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462400

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX