所以我刚升级到支持HTTP2的nginx 1.9.5。HTTP2:如何表示对它的支持? HTTP2有没有“替代协议”?
我更换了所有listen spdy
通过listen http2
,除去spdy_headers_comp
指令,并取出add_header Alternate-Protocol 443:npn-spdy/3;
然后我打开我在Firefox的网站,开启的网络监控,瞧:Version: HTTP/2.0
但如何火狐知道我的网站支持HTTP2?在尝试使用HTTP1.1之前,它是否总是首先尝试通过HTTP2进行连接?
OK,但为什么谷歌建议增加一个'复用协议:443?为什么不像HTTP2那样做(ALPN)? –
服务器使用“Alternate-Protocol”来告诉客户端他们可以使用给定的协议连接_directly_。你的例子只是说谷歌服务器通过NPN(ALPN的前身)支持SPDY/3(HTTP/2的前身)。例如是HTTP/1.1服务器可以与'复用协议回复:8443:h2'告诉客户端不使用ALPN连接到_different_端口(8443),知道该端口后面有一个HTTP/2服务器。如果没有这个头文件,客户端就不会知道在端口8443上说什么协议。对于支持ALPN的服务器,“Alternate-Protocol”只是提供信息。 – sbordet