所以我剛升級到支持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