google-chrome - 为什么 HTTP/2 的浏览器实现需要 TLS?

标签 google-chrome http firefox http2

为什么大多数现代浏览器都需要为 HTTP2 使用 TLS?

这背后有技术原因吗?或者只是为了让网络更安全?

http://caniuse.com/#feat=http2

最佳答案

部分原因是为了让更多的东西使用 HTTPS,并鼓励用户和服务器使用 HTTPS。 Firefox 和 Chrome 开发人员都表示这总体上是好的。为了用户和用户的安全和隐私。

这也是关于部署在 Internet 上的损坏的“中间盒”,它们假定端口 80 上的 TCP 流量(可能看起来像 HTTP/1.1)意味着 HTTP/1.1,然后它们将进行干扰以“改进”或过滤以某种方式交通。在这样的网络上执行 HTTP/2 明文最终的成功率要低得多。坚持加密使那些中间盒永远没有机会扰乱流量。

此外,有一定比例的已部署 HTTP/1.1 服务器将返回对升级的错误响应:使用未知协议(protocol)(例如“h2c”,即明文形式的 HTTP/2),这也会使情况复杂化在广泛使用的浏览器中的实现。通过 HTTPS 进行协商更不容易出错,因为“不支持它”仅仅意味着切换到安全的旧 HTTP/1.1 方法。

关于google-chrome - 为什么 HTTP/2 的浏览器实现需要 TLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34076231/

相关文章:

http - bzip2 和 x-bzip2 有什么区别

javascript - 如何在 Angular 2+ 中获取 json 数据

javascript - 使用 fetch 返回的结果与使用 curl 或在浏览器中打开页面的结果不同

css - SVG 数据图像不能用作伪元素中的背景图像

CSS @font-face 不适用于 Firefox,但适用于 Chrome 和 IE

android - android 的 firefox 不显示 css utf8 符号

javascript - 所有 JavaScript 函数最终都会归结为 ECMAScript 或 Web API 规范吗?

javascript - window.open 打开一个新标签而不是一个新窗口(在 chrome 中)

javascript - 在 Chrome 54 中扩展内置元素时无法创建自定义元素

javascript - 如何防止自动 JSON 键类型转换