使用 Chrome 或 Safari 强制 HTTP/2
Force HTTP/2 With Chrome or Safari
有什么方法可以告诉 Chrome 或 Safari 在特定 URL/adress/server 上使用 HTTP/2 吗?
我的意思是通过更改某些设置等,而不是通过在服务器套接字上实现 ALPN 或任何可能需要的东西。我想在服务器套接字上尝试 HTTP/2,而不是等到我可以通过 ALPN 协商告诉浏览器使用 HTTP/2。
澄清:我在 Chrome 上启用了 HTTP/2(又名 SPDY/4 通过 chrome://flags)。它仍然没有通过升级探测 HTTP/2 我的(TLS 或明文)套接字。我想强制 Chrome 要么这样做,要么立即假设 HTTP/2。
此外,我了解到 Chrome 不支持 HTTP/2 纯文本连接,即使 HTTP/2 标准允许。但也许有一些解决办法。
据我所知,这很可能是 browser-wide 设置。
在 chrome 中您可以启用 SPDY4,参见 chrome://flags
自版本 8 以来,已添加对 Safari 的支持。
归根结底,这就是了解您是否与服务器说同一种语言。如果您使用的是 http,则可以使用升级 header 来检查这一点。有一些插件可以与 chrome 一起使用,以指示您访问的地址是否支持 http/2.
有关 http/2 协议本身的更多信息,您应该查看 https://http2.github.io/http2-spec/#starting
HTTP/2 over TLS 和 HTTP/2 over TCP 被定义为 2 种不同的协议,分别由 h2 和 h2c[ 标识=19=].
Chrome目前只支持h2。
如果您的服务器只实现了 h2c,连接 Chrome 的最简单方法是使用反向代理,例如 nghttpx in HTTP/2 桥接模式你的服务器
有什么方法可以告诉 Chrome 或 Safari 在特定 URL/adress/server 上使用 HTTP/2 吗?
我的意思是通过更改某些设置等,而不是通过在服务器套接字上实现 ALPN 或任何可能需要的东西。我想在服务器套接字上尝试 HTTP/2,而不是等到我可以通过 ALPN 协商告诉浏览器使用 HTTP/2。
澄清:我在 Chrome 上启用了 HTTP/2(又名 SPDY/4 通过 chrome://flags)。它仍然没有通过升级探测 HTTP/2 我的(TLS 或明文)套接字。我想强制 Chrome 要么这样做,要么立即假设 HTTP/2。
此外,我了解到 Chrome 不支持 HTTP/2 纯文本连接,即使 HTTP/2 标准允许。但也许有一些解决办法。
据我所知,这很可能是 browser-wide 设置。
在 chrome 中您可以启用 SPDY4,参见 chrome://flags
自版本 8 以来,已添加对 Safari 的支持。
归根结底,这就是了解您是否与服务器说同一种语言。如果您使用的是 http,则可以使用升级 header 来检查这一点。有一些插件可以与 chrome 一起使用,以指示您访问的地址是否支持 http/2.
有关 http/2 协议本身的更多信息,您应该查看 https://http2.github.io/http2-spec/#starting
HTTP/2 over TLS 和 HTTP/2 over TCP 被定义为 2 种不同的协议,分别由 h2 和 h2c[ 标识=19=].
Chrome目前只支持h2。
如果您的服务器只实现了 h2c,连接 Chrome 的最简单方法是使用反向代理,例如 nghttpx in HTTP/2 桥接模式你的服务器