Ch. 20 · Networking

HTTP/3 and QUIC Transport

How HTTP/3 runs over QUIC on UDP, why it removes transport head-of-line blocking, and when it helps in practice.

~2 min readadvancedupdated Oct 5, 2026

HTTP/3 keeps HTTP semantics but replaces TCP with QUIC, a transport built on UDP with TLS 1.3 baked in. Because QUIC multiplexes independent streams over one connection, a lost packet blocks only the stream it belongs to, which fixes the transport-level head-of-line blocking that HTTP/2 over TCP still suffers.

Before you start

You should understand TCP, TLS and HTTP/2 multiplexing. This article focuses on the transport change and its trade-offs.

Step-by-step walkthrough

Step 1: Know what changes and what does not

Methods, status codes, headers and caching all stay the same; HTTP/3 is a new wire format. QUIC establishes an encrypted connection faster, often in one round trip or zero on resumption, and bundles TLS so there is no separate handshake.

Step 2: Understand the head-of-line benefit

On TCP, a lost segment stalls every HTTP/2 stream because they share one ordered byte stream. QUIC keeps per-stream ordering, so a loss on one stream leaves the others flowing. That matters most on lossy or high-latency mobile networks.

Step 3: Plan for fallback and migration

Some networks block or throttle UDP, so servers advertise HTTP/3 through the Alt-Svc header while still serving HTTP/2 over TCP. QUIC also supports connection migration, so a client that changes networks keeps its connection instead of reconnecting.

Worked scenario

Check which protocol a server negotiates; fallback to HTTP/2 is expected.

curl --http3 -sI https://cloudflare.com | head -1
Terminal

Walk through the example

--http3 asks curl to use QUIC; if the network allows it, the response advertises HTTP/3 in the status line or the Alt-Svc header shows the QUIC endpoint. If UDP is blocked, curl falls back and the request still succeeds over HTTP/2. The fallback is why enabling HTTP/3 does not risk reachability for clients on restrictive networks.

Common mistake

Assuming HTTP/3 eliminates all head-of-line blocking; application-level serialization and a single connection doing ordered work can still stall. Another is expecting an immediate win everywhere: on low-loss broadband, the benefit over HTTP/2 is often small.

Verify the behavior

Compare page load on a good network and a deliberately lossy one with HTTP/2 and HTTP/3, and assert the gain grows with loss. Confirm Alt-Svc advertises the QUIC endpoint and that a UDP-blocked client still loads over HTTP/2. Check that connection migration survives a network switch on mobile.

Interview exercise

When is HTTP/3 most valuable?

Answer and reasoning

It helps most where packet loss and latency are common: mobile networks and cross-region traffic with many concurrent streams. In those conditions, transport head-of-line blocking and slow handshakes dominate, so per-stream ordering and a faster encrypted handshake pay off. On a clean, low-latency link the client and server already perform well, so the improvement is marginal.

Continue learning

Compare protocol trade-offs in HTTP/2 multiplexing and TCP handshake. Read the Cloudflare HTTP/3 documentation and try the Networking interview questions.

More in Networking

read ✓Networking · mid

Networking: DNS Caching and TTL

Understand positive and negative caching, why changes are not instant, and how TTL trades propagation speed against query load.

~2 min readread →
read ✓Networking · easy

Networking: DNS Record Types

Read and choose DNS records: A and AAAA for addresses, CNAME for aliases, and MX and TXT for mail and verification.

~2 min readread →
read ✓Networking · mid

Networking: HTTP Redirects

Choose between 301, 302, 307 and 308, know which preserve the request method, and avoid caching and loop mistakes.

~2 min readread →
esc