Cloudflare與瀏覽器Google Chrome以及Mozilla Firefox緊密的合作,共同在伺服器端以及客戶端實作最新的HTTP協定HTTP/3,Cloudflare的用戶會逐漸收到HTTP/3可啟用通知,而用戶現在就可以使用Chrome透過HTTP/3與啟用HTTP/3的網站連結,Firefox也將會在之後釋出支援HTTP/3的版本。

HTTP/3在去年9月被稱為HTTP over QUIC,而到了11月時,正式被IETF成員接受,稱為HTTP/3。HTTP/3的特點在於不再使用TCP協定作為對話(Session)的傳輸層,而是使用新的網際網路傳輸協定QUIC,QUIC在傳輸層提供串流的功能,QUIC串流共享相同的QUIC連結,因此不需要額外的握手或是經歷慢啟動,來重新創建QUIC串流,而且因為每個QUIC串流都獨立交付,大部分的封包丟失只會影響一個串流,並不會對其他串流產生影響,之所以QUIC能擁有這樣的特性,是因為QUIC基於UDP協定實作。

與過去使用TCP的HTTP協定相比,HTTP/3使用UDP獲得更大的靈活性,而且QUIC的實作是在用戶空間層級,協定實作的更新不需要依賴作業系統更新,透過QUIC,HTTP層級的串流可以簡單地被映射到QUIC串流上,進而也能獲得HTTP/2主打的好處之一,沒有隊頭阻塞(Head-Of-Line Blocking)的問題。

Cloudflare解釋,之所以不在HTTP/2使用QUIC,而是要另外創建一個協定,是因為HTTP/2部分的功能無法簡單地被帶到QUIC上,像是HTTP/2標頭壓縮HPACK,由於HPACK很大程度仰賴不同HTTP請求和回應傳遞到端點的順序。

而HTTP/3中,QUIC雖保證單個串流位元組交付的順序,但不保證不同串流之間的順序,因此在HTTP/3中需要重新建立了標頭壓縮結構QPACK,另外,部分HTTP/2的功能像是預串流控制,QUIC本身就已經提供,因此也需要從HTTP/3中移除,降低協定不必要的複雜度。

網際網路新標準採用的困境,在於究竟應該是伺服器先支援還是瀏覽器先支援,而這次Cloudflare與兩大瀏覽器Mozilla Firefox和Google Chrome合作,加速了HTTP/3的發展以及採用,Chrome Canary版本現在已經可透過HTTP/3,連結Cloudflare上啟用HTTP/3的服務,而Mozilla也驗證了HTTP/3的可行性,在稍晚時候也會推出支援HTTP/3的Firefox版本。


熱門新聞

Advertisement