The Motivation
HTTP2 removed head of line blocking inside HTTP, but TCP still delivered bytes in strict order. One lost packet stalled every stream. HTTP3 fixes this by running over QUIC, a transport built on UDP.
What QUIC Provides
QUIC carries many independent streams, each with its own ordering and loss recovery.
- A lost packet only stalls the streams whose data it carried.
- Other streams keep flowing without waiting.
- Streams are a first class transport feature, not bolted on above.
Built In Security
QUIC integrates the TLS handshake into the transport. There is no separate plaintext transport setup followed by a TLS layer. Encryption and connection setup happen together, which trims round trips.
- A typical new connection needs one round trip to be ready.
- A resumed connection can send data with zero round trips.
Mapping HTTP Onto QUIC
HTTP3 maps each request and response onto a QUIC stream. Header compression uses QPACK, a variant of HPACK adapted so that loss on one stream does not block header decoding on another.
Key idea
HTTP3 runs on QUIC over UDP so each stream recovers from loss independently, folds TLS into the handshake, and uses QPACK to keep header decoding unblocked.