tl;dr: Support for QUIC and HTTP/3 is now enabled by default in Firefox Nightly and Firefox Beta. We are planning to start rollout on the release in Firefox Stable Release 88. HTTP/3 will be available by default by the end of May.
What is HTTP/3?
HTTP/3 is a new version of HTTP (the protocol that powers the Web) that is based on QUIC. HTTP/3 has three main performance improvements over HTTP/2:
- Because it is based on UDP it takes less time to connect;
- It does not have head of line blocking, where delays in delivering packets cause an entire connection to be delayed; and
- It is better able to detect and repair packet loss.
QUIC also provides connection migration and other features that should improve performance and reliability. For more on QUIC, see this excellent blog post from Cloudflare.
How to use it?
Firefox Nightly and Firefox Beta will automatically try to use HTTP/3 if offered by the Web server (for instance, Google or Facebook). Web servers can indicate support by using the Alt-Svc response header or by advertising HTTP/3 support with a HTTPS DNS record. Both the client and server must support the same QUIC and HTTP/3 draft version to connect with each other. For example, Firefox currently supports drafts 27 to 32 of the specification, so the server must report support of one of these versions (e.g., “h3-32”) in Alt-Svc or HTTPS record for Firefox to try to use QUIC and HTTP/3 with that server. When visiting such a website, viewing the network request information in Dev Tools should show the Alt-Svc header, and also indicate that HTTP/3 was used.
If you encounter issues with these or other sites, please file a bug in Bugzilla.
About Dragana Damjanovic
Dragana is the networking module owner of Firefox. She is responsible for the Firefox’s implementation of HTTP, HTTP/3, HTTP/2, WebSockets, DNS, cache, etc.