HTTP/3
互聯網協定套組 |
---|
應用層 |
傳輸層 |
網絡層 |
連結層 |
HTTP/HTTPS |
---|
版本 |
請求方法 |
報文主體 |
頭欄位 |
狀態碼 |
相關主題 |
此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
此條目可參照英語維基百科相應條目來擴充。 (2023年5月24日) |
HTTP/3是第三個主要版本的HTTP協定。與其前任HTTP/1.1和HTTP/2不同,在HTTP/3中,將棄用TCP協定,改為使用基於UDP協定的QUIC協定實現。[1]
此變化主要為了解決HTTP/2中存在的隊頭阻塞問題。由於HTTP/2在單個TCP連接上使用了多路復用,受到TCP擁塞控制的影響,少量的丟包就可能導致整個TCP連接上的所有流被阻塞。
QUIC(快速UDP網絡連接)是一種實驗性的網絡傳輸協定,由Google開發,該協定旨在使網頁傳輸更快。在2018年10月28日的郵寄清單討論中,互聯網工程任務組(IETF) HTTP和QUIC工作群組主席Mark Nottingham提出了將HTTP-over-QUIC更名為HTTP/3的正式請求,以「明確地將其標識為HTTP語意的另一個繫結……使人們理解它與QUIC的不同」,並在最終確定並發佈草案後,將QUIC工作群組繼承到HTTP工作群組。[2] 在隨後的幾天討論中,Mark Nottingham的提議得到了IETF成員的接受,他們在2018年11月給出了官方批准,認可HTTP-over-QUIC成為HTTP/3。[3]
2019年9月,HTTP/3支援已添加到Cloudflare和Google Chrome(Canary build)。Firefox Nightly在2019年秋季之後添加支援。[4]
2022年6月6日,IETF正式標準化HTTP/3為RFC9114[5]。
實現
客戶端
瀏覽器 | 實現但預設禁用的起始版本 | 預設開啟的起始版本 | 備註 | ||
---|---|---|---|---|---|
Chrome | 穩定版 (79) | 2019年12月 | 87[6] | 2020年4月[7] | 早期版本實現了QUIC的其他草案 |
Edge | 穩定版 (79) | 2019年12月 | 87 | 2020年4月 | Edge 79是基於Chromium的首個版本 |
Firefox | 穩定版 (72.0.1) | 2020年1月 | 88[8] | 2021年4月[9] | |
Safari | 穩定版 (14.0) | 2020年9月 | 16.4 | 2023年3月 | Apple從Safari 16.4開始,對部分Safari用戶測試HTTP/3的支援。[10] |
庫
為 QUIC and HTTP/3 實現了客戶端或伺服器邏輯的開源庫有[11]
伺服器
- 2021年6月7日,LiteSpeed Web Server(及OpenLiteSpeed)6.0.2版本發佈,並成為預設啟用HTTP/3的首個版本。[17]
- Caddy 網頁伺服器v2.6.0(2022年9月20日發佈)預設啟用了HTTP/3。[18]
- Nginx 自1.25.0版本(2023年5月23日發佈)開始支援HTTP/3。2020年6月,發佈了支援HTTP/3的nginx技術預覽版。[19] 2023年2月,發佈了支援HTTP/3的nginx二進制包。[20]
- Cloudflare發佈了一個修補程式,該修補程式將quiche HTTP/3庫整合到nginx中。[21]
- Microsoft IIS 在Windows Server 2022/Windows 11上原生支援HTTP/3。[22]
- HAProxy 自2.6版本(2022年5月31日發佈)起支援 HTTP/3 over QUIC。[23][24]
參考資料
- ^ Bishop, M. Hypertext Transfer Protocol (HTTP) over QUIC. IETF RFC. 2018-10-24 [2018-12-17]. (原始內容存檔於2018-12-19).
- ^ Nottingham, Mark. Identifying our deliverables. IETF Mail Archive. 28 October 2018 [2018-12-17]. (原始內容存檔於2018-11-19).
- ^ Cimpanu, Catalin. HTTP-over-QUIC to be renamed HTTP/3 | ZDNet. ZDNet. 2018-11-12 [2018-11-12]. (原始內容存檔於2018-11-13) (英語).
- ^ Cimpanu, Catalin. Cloudflare, Google Chrome, and Firefox add HTTP/3 support. ZDNet. 2019-09-26 [2019-09-27]. (原始內容存檔於2019-09-26).
- ^ HTTP/3. [2022-06-07]. (原始內容存檔於2022-06-06).
- ^ "HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc. canIuse.com. [2023-07-10]. (原始內容存檔於2023-07-13).
- ^ Enabling QUIC in tip-of-tree. groups.google.com. [2021-04-09]. (原始內容存檔於2021-08-23).
- ^ Damjanovic, Dragana. QUIC and HTTP/3 Support now in Firefox Nightly and Beta. Mozilla Hacks – the Web developer blog. 16 April 2021 [2021-04-17]. (原始內容存檔於2021-09-18) (美國英語).
- ^ Firefox Release Owners - MozillaWiki. wiki.mozilla.org. [2021-04-09]. (原始內容存檔於2023-06-08).
- ^ Jen Simmons. HTTP/3 support shipped in Safari 14.0. GitHub. 2023-04-04 [2023-04-07]. (原始內容存檔於2023-06-06).
- ^ QUIC Implementations. GitHub. [2021-04-08]. (原始內容存檔於2021-07-15) (英語).
- ^ First HTTP/3 with curl. Daniel Stenberg. August 5, 2019 [October 2, 2019]. (原始內容存檔於2023-06-06).
- ^ HTTP3 (and QUIC). Daniel Stenberg. August 23, 2023 [August 27, 2023]. (原始內容存檔於2023-08-27).
- ^ MsQuic is Open Source. April 28, 2020 [April 28, 2020]. (原始內容存檔於2022-02-08).
- ^ HTTP/3 support in .NET 6. September 17, 2021 [September 17, 2021]. (原始內容存檔於2023-05-30).
- ^ HTTP/3 support in .NET 6. .NET Blog. 2021-09-17 [2022-01-12]. (原始內容存檔於2023-05-30) (美國英語).
- ^ LiteSpeed Web Server Release Log - LiteSpeed Technologies. www.litespeedtech.com. [2022-02-12]. (原始內容存檔於2023-08-15).
Enable HTTP/3 v1 by default.
- ^ Release 2.6.0 · caddyserver/caddy. Github. 2022-09-22 [2022-09-20]. (原始內容存檔於2023-08-10) (美國英語).
- ^ Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3. NGINX. 2020-06-10 [2020-06-11]. (原始內容存檔於2020-06-10) (美國英語).
- ^ Binary Packages Now Available for the Preview NGINX QUIC+HTTP/3 Implementation. NGINX. 2023-02-08 [2023-03-30]. (原始內容存檔於2023-09-28) (美國英語).
- ^ Experiment with HTTP/3 using NGINX and quiche. The Cloudflare Blog. 2019-10-17 [2019-11-09]. (原始內容存檔於2019-11-09) (英語).
- ^ Tratcher. Use ASP.NET Core with HTTP/3 on IIS. docs.microsoft.com. [2022-04-29] (美國英語).
- ^ Announcing HAProxy 2.6. HAProxy Blog. 31 May 2022.
- ^ QUIC Implementation in HAProxy. HAProxyConf video presentation. [2023-10-14]. (原始內容存檔於2023-07-14).
外部連結
- IETF QUIC工作群組HTTP/3工作草案(頁面存檔備份,存於互聯網檔案館)(英文)