是否有某种方法可以告诉Chrome或Safari在特定网址/地址/服务器上使用HTTP / 2?
我的意思是通过更改某些设置等,而不是在服务器套接字上实现ALPN或可能需要的任何东西。我想在服务器套接字上尝试HTTP / 2而不等到我可以通过ALPN协商告诉浏览器使用HTTP / 2。
澄清:我在Chrome上启用了HTTP / 2(通过chrome://标志称为SPDY / 4)。它仍然没有通过升级探测HTTP / 2的我的(TLS或明文)套接字。我想强制Chrome执行此操作,或者立即采用HTTP / 2。
此外,我已经读过Chrome即使HTTP / 2标准允许,也不会通过纯文本连接支持HTTP / 2。但也许还有一些解决方法。
答案 0 :(得分:10)
TLS上的HTTP / 2和TCP上的HTTP / 2被定义为2种不同的协议,分别由 h2 和 h2c 标识。
Chrome目前仅支持h2。
如果您的服务器只实现了h2c,那么将Chrome连接到它的最简单方法是在服务器前面使用HTTP / 2桥接模式下的nghttpx反向代理
答案 1 :(得分:0)
据我所知,这很可能是浏览器范围的设置。
在Chrome中,您可以启用SPDY4,请参阅chrome://flags
至于safari,自版本8以来已添加了支持。
最后,了解您是否使用与服务器相同的语言。如果您使用的是http,则可以使用Upgrade标头进行检查。有一些插件你可以使用chrome来告诉你访问的地址是否支持http / 2。
有关http / 2协议本身的更多信息,请查看https://http2.github.io/http2-spec/#starting