HTTP/3
The third major version of the Hypertext Transfer Protocol, built on top of the QUIC protocol.
Detailed Explanation
HTTP/3 solves the 'Head-of-Line Blocking' problem in HTTP/2. It uses UDP instead of TCP, allowing multiple streams of data to be sent independently. If one packet is lost, it doesn't stall the entire connection. This results in faster page loads, especially on unstable networks like mobile data. It is currently being adopted by major browsers and CDNs.
Quick Summary
HTTP/3 is the latest HTTP version, running over QUIC (which runs over UDP). It fixes TCP's head-of-line blocking and merges the TLS handshake into the transport, cutting connection setup latency dramatically.
Key Takeaways
- Runs over QUIC + UDP instead of TCP + TLS; the handshake is collapsed and encrypted by default.
- Stream multiplexing without head-of-line blocking: a lost packet on stream A doesn't stall stream B.
- 0-RTT resumption for returning clients, meaningful win on mobile.
- Connection migration: a phone moving from Wi-Fi to LTE keeps the same QUIC connection.
- Adopted by all major browsers, CDNs (Cloudflare, Fastly, Akamai), and Google/Meta/etc. for years now.
When to use it
- Public-facing web traffic where mobile and lossy networks dominate.
- Connection-rich APIs (live updates, GraphQL subscriptions) benefit from per-stream loss handling.
- Apps that want fast first-paint via 0-RTT.
- Anywhere TCP middleboxes (proxies, deep packet inspection) cause oddities, QUIC sees everything as opaque UDP.
Common Mistakes
- Treating HTTP/3 as a drop-in for performance everywhere, many corporate firewalls still block or throttle UDP.
- Forgetting that HTTP/2 still beats HTTP/3 in some controlled, low-loss server-to-server environments.
- Skipping fallback to HTTP/2 if QUIC is blocked; the Alt-Svc header signals capability.
- Debugging via packet capture without TLS keys; QUIC is end-to-end encrypted and looks like noise.
HTTP/3, Frequently Asked
Should I enable HTTP/3 in production?
Almost certainly yes, most CDNs and reverse proxies turn it on with a single config switch and clients fall back to HTTP/2 if QUIC is unavailable. The win is biggest for mobile users on lossy networks.
Does HTTP/3 replace HTTP/2?
Eventually, but slowly. Both will coexist for years. HTTP/2 over TCP+TLS is still the workhorse for many backends; HTTP/3 is winning at the edge first.