为啥 HTTP/2 的浏览器实现需要 TLS?
Posted
技术标签:
【中文标题】为啥 HTTP/2 的浏览器实现需要 TLS?【英文标题】:Why do browser implementations of HTTP/2 require TLS?为什么 HTTP/2 的浏览器实现需要 TLS? 【发布时间】:2016-03-08 16:06:26 【问题描述】:为什么大多数现代浏览器都要求 HTTP2 使用 TLS?
这背后有技术原因吗?还是只是为了让网络更安全?
http://caniuse.com/#feat=http2
【问题讨论】:
"Although the standard itself does not require usage of encryption, most client implementations (Firefox, Chrome, Safari, Opera, IE, Edge) have stated that they will only support HTTP/2 over TLS" youtube.com/watch?v=r5oT_2ndjms 【参考方案1】:部分原因是为了让更多的东西使用 HTTPS,并鼓励用户和服务器使用 HTTPS。 Firefox 和 Chrome 开发人员都表示这通常是好的。为了用户和用户的安全和隐私。
这也是关于部署在 Internet 上的损坏的“中间框”假设端口 80(可能看起来像 HTTP/1.1)上的 TCP 流量意味着 HTTP/1.1,然后它们会为了“改进”或过滤某种方式的交通。在这样的网络上执行 HTTP/2 明文最终的成功率要低得多。坚持加密让那些中间的盒子永远没有机会搞砸流量。
此外,有一定比例的已部署 HTTP/1.1 服务器会对升级返回错误响应:使用未知协议(例如“h2c”,即 HTTP/2 明文),这也会使问题复杂化在广泛使用的浏览器中实现。通过 HTTPS 进行协商更不容易出错,因为“不支持它”只是意味着切换到安全的旧 HTTP/1.1 方法。
【讨论】:
以上是关于为啥 HTTP/2 的浏览器实现需要 TLS?的主要内容,如果未能解决你的问题,请参考以下文章