使用Chrome或Safari强制HTTP / 2

时间:2015-04-01 19:58:05

标签: google-chrome safari http2

是否有某种方法可以告诉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。但也许还有一些解决方法。

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