Https 为什么web浏览器不支持h2c(没有TLS的HTTP/2)?
我真的在网上搜索,我找不到为什么网络浏览器不支持h2c(没有TLS的http/2)的原因。任何想法,谢谢 稍微澄清一下 带有https的http/2使用ALPN(称为h2)。 带有http的http/2不需要ALPN(称为h2c),但几乎没有web浏览器支持它。为什么会这样 我觉得对于许多资源来说,虽然真实性总是好的,但不需要保密(http主体的数字签名没有得到广泛支持,尽管有一些私有实现)。如果不需要保密,那么h2c确实是一件好事。从技术上讲 HTTP/2之所以比HTTPS更好、更容易处理,有几个技术原因:Https 为什么web浏览器不支持h2c(没有TLS的HTTP/2)?,https,http2,Https,Http2,我真的在网上搜索,我找不到为什么网络浏览器不支持h2c(没有TLS的http/2)的原因。任何想法,谢谢 稍微澄清一下 带有https的http/2使用ALPN(称为h2)。 带有http的http/2不需要ALPN(称为h2c),但几乎没有web浏览器支持它。为什么会这样 我觉得对于许多资源来说,虽然真实性总是好的,但不需要保密(http主体的数字签名没有得到广泛支持,尽管有一些私有实现)。如果不需要保密,那么h2c确实是一件好事。从技术上讲 HTTP/2之所以比HTTPS更好、更容易处理,有
Upgrade:
那样丢失往返。而且它也不会像纯文本HTTP/2那样在POST上遇到升级问题至少有一家浏览器供应商在早期表示打算通过纯文本HTTP(h2c)实现并为用户提供HTTP/2。由于上面提到的技术障碍,他们最终没有这样做。Dupe——但新答案更长。伙计,我甚至记不起自己的答案了!好的,但是本地网络呢?我有一个路由器,想打开它的管理面板,这样路由器就不能有任何有效的TLS证书,除了我的浏览器将拒绝的自签名证书。@stokito即使在本地网络上,浏览器也不知道请求是否通过破坏新功能的旧代理。WebSocket和brotli压缩也从TLS中受益,原因与从中间服务器隐藏类似。事实上,浏览器在没有TLS的情况下也不会请求brotli压缩(正如Daniel在回答中提到的)。将TLS视为防止无能和恶意行为的隐私。@stokito您仍然可以在路由器上放置真正的证书。只需在您的客户端pc中为本地pc上的router.example.com之类的内容设置一个hosts文件条目,然后获取该名称的LetsEncrypt或类似证书。如果您获得了*.example.com这样的通配符证书,您甚至不必向公众公开路由器名称。