fbpx
维基百科

HTTP/3

HTTP/3是第三个主要版本的HTTP协议。与其前任HTTP/1.1HTTP/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英语Mark Nottingham提出了将HTTP-over-QUIC更名为HTTP/3的正式请求,以“明确地将其标识为HTTP语义的另一个绑定……使人们理解它与QUIC的不同”,并在最终确定并发布草案后,将QUIC工作组继承到HTTP工作组。[2] 在随后的几天讨论中,Mark Nottingham英语Mark Nottingham的提议得到了IETF成员的接受,他们在2018年11月给出了官方批准,认可HTTP-over-QUIC成为HTTP/3。[3]

2019年9月,HTTP/3支持已添加到CloudflareGoogle Chrome(Canary build)。Firefox Nightly在2019年秋季之后添加支持。[4]

2022年6月6日,IETF正式标准化HTTP/3为RFC9114[5]

实现 编辑

客户端 编辑

HTTP/3 浏览器支持
浏览器 实现但默认禁用的起始版本 默认开启的起始版本 备注
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]

实现HTTP/3的库
名称 客户端 服务端 编程语言 所属公司 仓库链接
lsquic 支持 支持 C LiteSpeed https://github.com/litespeedtech/lsquic (页面存档备份,存于互联网档案馆
nghttp3 支持 支持 C https://github.com/ngtcp2/nghttp3 (页面存档备份,存于互联网档案馆
H2O英语H2O (web server) 不支持 支持 C https://github.com/h2o/h2o (页面存档备份,存于互联网档案馆
cURL[12][13] 支持 不支持 C https://github.com/curl/curl (页面存档备份,存于互联网档案馆
MsQuic[14] 支持 支持 C Microsoft https://github.com/microsoft/msquic (页面存档备份,存于互联网档案馆
proxygen 支持 支持 C++ Facebook https://github.com/facebook/proxygen#quic-and-http3 (页面存档备份,存于互联网档案馆
Cronet 支持 支持 C++ Google https://github.com/chromium/chromium/tree/main/net/quic (页面存档备份,存于互联网档案馆
.NET[15] 支持 支持 C# (using MsQuic)[16] Microsoft https://github.com/dotnet (页面存档备份,存于互联网档案馆
quic-go 支持 支持 Go https://github.com/quic-go/quic-go (页面存档备份,存于互联网档案馆
http3 支持 支持 Haskell https://github.com/kazu-yamamoto/http3 (页面存档备份,存于互联网档案馆
Kwik 支持 支持 Java https://github.com/ptrd/kwik (页面存档备份,存于互联网档案馆
Flupke 支持 支持 Java https://bitbucket.org/pjtr/flupke (页面存档备份,存于互联网档案馆
aioquic 支持 支持 Python https://github.com/aiortc/aioquic (页面存档备份,存于互联网档案馆
quiche 支持 支持 Rust Cloudflare https://github.com/cloudflare/quiche (页面存档备份,存于互联网档案馆
neqo 支持 支持 Rust Mozilla https://github.com/mozilla/neqo (页面存档备份,存于互联网档案馆
quinn 支持 支持 Rust https://github.com/quinn-rs/quinn (页面存档备份,存于互联网档案馆
s2n-quic 支持 支持 Rust Amazon Web Services https://github.com/aws/s2n-quic (页面存档备份,存于互联网档案馆

服务器 编辑

  • 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]

参考资料 编辑

  1. ^ Bishop, M. Hypertext Transfer Protocol (HTTP) over QUIC. IETF RFC. 2018-10-24 [2018-12-17]. (原始内容于2018-12-19). 
  2. ^ Nottingham, Mark. Identifying our deliverables. IETF Mail Archive. 28 October 2018 [2018-12-17]. (原始内容于2018-11-19). 
  3. ^ Cimpanu, Catalin. HTTP-over-QUIC to be renamed HTTP/3 | ZDNet. ZDNet. 2018-11-12 [2018-11-12]. (原始内容于2018-11-13) (英语). 
  4. ^ Cimpanu, Catalin. Cloudflare, Google Chrome, and Firefox add HTTP/3 support. ZDNet. 2019-09-26 [2019-09-27]. (原始内容于2019-09-26). 
  5. ^ HTTP/3. [2022-06-07]. (原始内容于2022-06-06). 
  6. ^ "HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc. canIuse.com. [2023-07-10]. (原始内容于2023-07-13). 
  7. ^ Enabling QUIC in tip-of-tree. groups.google.com. [2021-04-09]. (原始内容于2021-08-23). 
  8. ^ 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) (美国英语). 
  9. ^ Firefox Release Owners - MozillaWiki. wiki.mozilla.org. [2021-04-09]. (原始内容于2023-06-08). 
  10. ^ Jen Simmons. HTTP/3 support shipped in Safari 14.0. GitHub. 2023-04-04 [2023-04-07]. (原始内容于2023-06-06). 
  11. ^ QUIC Implementations. GitHub. [2021-04-08]. (原始内容于2021-07-15) (英语). 
  12. ^ First HTTP/3 with curl. Daniel Stenberg. August 5, 2019 [October 2, 2019]. (原始内容于2023-06-06). 
  13. ^ HTTP3 (and QUIC). Daniel Stenberg. August 23, 2023 [August 27, 2023]. (原始内容于2023-08-27). 
  14. ^ MsQuic is Open Source. April 28, 2020 [April 28, 2020]. (原始内容于2022-02-08). 
  15. ^ HTTP/3 support in .NET 6. September 17, 2021 [September 17, 2021]. (原始内容于2023-05-30). 
  16. ^ HTTP/3 support in .NET 6. .NET Blog. 2021-09-17 [2022-01-12]. (原始内容于2023-05-30) (美国英语). 
  17. ^ LiteSpeed Web Server Release Log - LiteSpeed Technologies. www.litespeedtech.com. [2022-02-12]. (原始内容于2023-08-15). Enable HTTP/3 v1 by default. 
  18. ^ Release 2.6.0 · caddyserver/caddy. Github. 2022-09-22 [2022-09-20]. (原始内容于2023-08-10) (美国英语). 
  19. ^ Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3. NGINX. 2020-06-10 [2020-06-11]. (原始内容于2020-06-10) (美国英语). 
  20. ^ Binary Packages Now Available for the Preview NGINX QUIC+HTTP/3 Implementation. NGINX. 2023-02-08 [2023-03-30]. (原始内容于2023-09-28) (美国英语). 
  21. ^ Experiment with HTTP/3 using NGINX and quiche. The Cloudflare Blog. 2019-10-17 [2019-11-09]. (原始内容于2019-11-09) (英语). 
  22. ^ Tratcher. Use ASP.NET Core with HTTP/3 on IIS. docs.microsoft.com. [2022-04-29] (美国英语). 
  23. ^ Announcing HAProxy 2.6. HAProxy Blog. 31 May 2022. 
  24. ^ QUIC Implementation in HAProxy. HAProxyConf video presentation. [2023-10-14]. (原始内容于2023-07-14). 

外部链接 编辑

  • IETF QUIC工作组HTTP/3工作草案(页面存档备份,存于互联网档案馆(英文)

http, 此條目翻譯自其他語言維基百科, 需要相關領域的編者協助校對翻譯, 如果您精通本領域, 又能清楚地將來源語言翻譯為中文, 歡迎您協助校訂翻譯, 原文参见维基数据, 此條目可参照英語維基百科相應條目来扩充, 2023年5月24日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, te. 此條目翻譯自其他語言維基百科 需要相關領域的編者協助校對翻譯 如果您精通本領域 又能清楚地將來源語言翻譯為中文 歡迎您協助校訂翻譯 原文参见维基数据 此條目可参照英語維基百科相應條目来扩充 2023年5月24日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 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 英语 Mark Nottingham 提出了将HTTP over QUIC更名为HTTP 3的正式请求 以 明确地将其标识为HTTP语义的另一个绑定 使人们理解它与QUIC的不同 并在最终确定并发布草案后 将QUIC工作组继承到HTTP工作组 2 在随后的几天讨论中 Mark Nottingham 英语 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 目录 1 实现 1 1 客户端 1 2 库 1 3 服务器 2 参考资料 3 外部链接实现 编辑客户端 编辑 HTTP 3 浏览器支持 浏览器 实现但默认禁用的起始版本 默认开启的起始版本 备注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 实现HTTP 3的库 名称 客户端 服务端 编程语言 所属公司 仓库链接lsquic 支持 支持 C LiteSpeed https github com litespeedtech lsquic 页面存档备份 存于互联网档案馆 nghttp3 支持 支持 C https github com ngtcp2 nghttp3 页面存档备份 存于互联网档案馆 H2O 英语 H2O web server 不支持 支持 C https github com h2o h2o 页面存档备份 存于互联网档案馆 cURL 12 13 支持 不支持 C https github com curl curl 页面存档备份 存于互联网档案馆 MsQuic 14 支持 支持 C Microsoft https github com microsoft msquic 页面存档备份 存于互联网档案馆 proxygen 支持 支持 C Facebook https github com facebook proxygen quic and http3 页面存档备份 存于互联网档案馆 Cronet 支持 支持 C Google https github com chromium chromium tree main net quic 页面存档备份 存于互联网档案馆 NET 15 支持 支持 C using MsQuic 16 Microsoft https github com dotnet 页面存档备份 存于互联网档案馆 quic go 支持 支持 Go https github com quic go quic go 页面存档备份 存于互联网档案馆 http3 支持 支持 Haskell https github com kazu yamamoto http3 页面存档备份 存于互联网档案馆 Kwik 支持 支持 Java https github com ptrd kwik 页面存档备份 存于互联网档案馆 Flupke 支持 支持 Java https bitbucket org pjtr flupke 页面存档备份 存于互联网档案馆 aioquic 支持 支持 Python https github com aiortc aioquic 页面存档备份 存于互联网档案馆 quiche 支持 支持 Rust Cloudflare https github com cloudflare quiche 页面存档备份 存于互联网档案馆 neqo 支持 支持 Rust Mozilla https github com mozilla neqo 页面存档备份 存于互联网档案馆 quinn 支持 支持 Rust https github com quinn rs quinn 页面存档备份 存于互联网档案馆 s2n quic 支持 支持 Rust Amazon Web Services https github com aws s2n quic 页面存档备份 存于互联网档案馆 服务器 编辑 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工作草案 页面存档备份 存于互联网档案馆 英文 取自 https zh wikipedia org w index php title HTTP 3 amp oldid 79712614, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。