为什么 HTTP/2 的浏览器实现需要 TLS?
Why do browser implementations of HTTP/2 require TLS?
为什么大多数现代浏览器都需要 HTTP2 的 TLS?
这背后有技术原因吗?或者只是为了让网络更安全?
部分原因是为了让更多的东西使用 HTTPS,并鼓励用户和服务器使用 HTTPS。 Firefox 和 Chrome 开发人员都表示这总体上是好的。为了用户和用户的安全和隐私。
这也是关于部署在 Internet 上的损坏的 "middle boxes" 假设端口 80 上的 TCP 流量(可能看起来像 HTTP/1.1)意味着 HTTP/1.1 然后他们会干扰 "improve" 或以某种方式过滤流量。在此类网络上执行 HTTP/2 明文最终的成功率要低得多。坚持加密让那些中间盒子永远没有机会搞乱流量。
此外,有一定比例的已部署 HTTP/1.1 服务器将 return 对升级的错误响应:使用未知协议(例如 "h2c",是 HTTP/2 明文),这也会使广泛使用的浏览器中的实现复杂化。通过 HTTPS 进行协商更不容易出错,因为 "not supporting it" 只是意味着切换到安全的旧 HTTP/1.1 方法。
为什么大多数现代浏览器都需要 HTTP2 的 TLS?
这背后有技术原因吗?或者只是为了让网络更安全?
部分原因是为了让更多的东西使用 HTTPS,并鼓励用户和服务器使用 HTTPS。 Firefox 和 Chrome 开发人员都表示这总体上是好的。为了用户和用户的安全和隐私。
这也是关于部署在 Internet 上的损坏的 "middle boxes" 假设端口 80 上的 TCP 流量(可能看起来像 HTTP/1.1)意味着 HTTP/1.1 然后他们会干扰 "improve" 或以某种方式过滤流量。在此类网络上执行 HTTP/2 明文最终的成功率要低得多。坚持加密让那些中间盒子永远没有机会搞乱流量。
此外,有一定比例的已部署 HTTP/1.1 服务器将 return 对升级的错误响应:使用未知协议(例如 "h2c",是 HTTP/2 明文),这也会使广泛使用的浏览器中的实现复杂化。通过 HTTPS 进行协商更不容易出错,因为 "not supporting it" 只是意味着切换到安全的旧 HTTP/1.1 方法。