Firefox Nightly 和 Beta 版现已支持 QUIC 和 HTTP/3

简而言之:QUICHTTP/3 的支持现已在 Firefox NightlyFirefox Beta 中默认启用。我们计划在 Firefox 稳定版 88 中开始推出。HTTP/3 将在 5 月底之前默认可用。

什么是 HTTP/3?

HTTP/3 是 HTTP(为 Web 提供支持的协议)的新版本,它基于 QUIC。与 HTTP/2 相比,HTTP/3 有三大性能改进

  • 因为它基于 UDP,所以连接所需时间更短;
  • 它没有头部阻塞问题,在该问题中,数据包传递延迟会导致整个连接延迟;以及
  • 它能够更好地检测和修复数据包丢失。

QUIC 还提供连接迁移和其他功能,这些功能应该可以提高性能和可靠性。有关 QUIC 的更多信息,请参阅 Cloudflare 的这篇 优秀博文

如何使用它?

Firefox NightlyFirefox Beta 将在 Web 服务器(例如 Google 或 Facebook)提供时自动尝试使用 HTTP/3。Web 服务器可以通过使用 Alt-Svc 响应头或通过使用 HTTPS DNS 记录来宣传 HTTP/3 支持。客户端和服务器必须支持相同的 QUIC 和 HTTP/3 草案版本才能相互连接。例如,Firefox 当前支持规范的草案 27 到 32,因此服务器必须在 Alt-Svc 或 HTTPS 记录中报告对其中一个版本的支持(例如,“h3-32”),以便 Firefox 尝试使用该服务器的 QUIC 和 HTTP/3。访问此类网站时,在开发者工具中查看网络请求信息应显示 Alt-Svc 标头,并指示使用了 HTTP/3。

如果您遇到这些或其他网站的问题,请在 Bugzilla 中提交错误。

关于 Dragana Damjanovic

Dragana 是 Firefox 的网络模块所有者。她负责 Firefox 中 HTTP、HTTP/3、HTTP/2、WebSockets、DNS、缓存等的实现。

Dragana Damjanovic 的更多文章…


5 条评论

  1. Olaf

    您好,Dragana,

    这是个好消息,感谢分享!

    我对实现细节很感兴趣,特别是使用了哪个 http3 实现。

    另外,我想知道这是否以及何时会应用于 Android。我认为这对于移动用户来说可能很有趣。

    此致敬礼,
    Olaf

    2021 年 4 月 16 日 23:06

    1. Dragana Damjanovic

      您好,Olaf,

      我们使用的是我们自己的 HTTP3 实现,称为 neqo。它是用 Rust 编写的。这是仓库
      https://github.com/mozilla/neqo

      HTTP3 将在 89 版中适用于 Android。它已经在 Nightly 89 和 Beta 89(今天发布)中启用。

      Dragana

      2021 年 4 月 20 日 05:28

  2. Marcio MT

    非常感谢您抽出时间,我希望它能作为一项功能得到改进。我特别喜欢暗黑模式,它带来了一丝希望,我想。当然,这是我的观点。不应该被考虑

    2021 年 4 月 29 日 23:43

  3. Jeff

    我注意到 http3 是一个可以在桌面稳定版 88 上启用的选项。您知道是否有计划在开发者工具中指示连接是否使用了 QUIC/以更友好的方式公开 qlog 吗?

    感谢您的博文 :)

    2021 年 5 月 3 日 09:15

  4. Munyalo mwanza

    我感谢您的支持

    2021 年 5 月 14 日 09:17

本文评论已关闭。