本周一,互聯網工程任務組(IETF)頒布了 HTTP/3 的 RFC 文檔。作為超文本傳輸協議的第三個大版本,其主要描述了如何在 QUIC 上映射 HTTP 語義。通過從 TCP 向 UDP 連接轉型,QUIC 傳輸協議還具有 HTTP 傳輸所需的多項特性,例如流式多路復用、分路流控、以及更低的連接建立延遲。
視頻截圖(via Weecli / YouTube)
與此同時,該文檔確定了 QUIC 包含的 HTTP/2 功能,並描述了如何將 HTTP/2 擴展遷移至 HTTP/3 。
QUIC 全稱為‘快速 UDP 互聯網連接’,由 Google 創建並於 2013 年發布。
其誕生旨在化解傳輸控制協議(TCP)需要多次來回握手,才能建立連接並開始傳輸數據的短板。
(圖自:Cloudflare)
由於 TCP 三次握手會造成較長的往返延時,用戶體驗也可能受到極大的影響。正因如此,Google 才決定基於數據報協議(UDP)來打造 QUIC 。
即使 UDP 連接有‘丟包’的問題,但它至少可以減少客戶端 / 服務器之間的往返次數,從而極大地改善傳輸速度。
對於正在大力向移動領域轉型的 Google 來說,UDP 更是可以化解共享基站與移動終端之間訪問速度緩慢且稀疏的困擾。
事實上,早在 IETF 頒布 HTTP/3 的意見徵求稿前,這家科技巨頭就已經將 QUIC 支持內嵌於 Google Chrome 瀏覽器、並在自家的諸多服務上啟用。
2018 年的時候,Cloudflare 也將 QUIC 作為一個可選的實施項。微軟對此也相當青睞,甚至打造了自己的開源版本,此外 NGINX 也添加了 HTTP/3 支持。
需要指出的是,儘管 QUIC 的普及率有所提高,但目前全球絕大部分數據流量,仍依賴基於 TCP 的 HTTP/2 傳輸。
所以早在 2016 年,就有網絡專家開始建議通過 QUIC 映射的方式,讓 HTTP/2 也能享受到 HTTP/3 的一些優勢與和諧共存。
本周一(6 月 6 日),他們的努力終於得到了回報。隨着 IETF 頒布 RFC 9114 這個建議標準(完整文檔字數超 20000),我們終於可以詳細地了解 HTTP/3 。
雖然仍有一些批評者和競爭對手(比如主推 HTTPD 的 Apache),但 Cloudflare 表示目前來自 Google Chrome 瀏覽器的 HTTP/3 流量已佔八成。
Web 流量觀測表明 HTTP/3 已成為超文本傳輸協議的次流行版本
最後,除了來自隱私倡導者的顧慮,一些網絡專家也發現 QUIC 承諾的速度提升有些難以捉摸。
所以 HTTP/3 並不一定是能夠解決所有網絡問題的萬金油,且 Apache 也推遲了將之引入 Web 服務器的計劃。