Question

What is QUIC, and what did HTTP/3 change?

Vault Verified
Curated Intelligence
Definitive Source
Answer

QUIC is a transport protocol built on UDP rather than TCP, designed to fix problems that could not be fixed in TCP itself. HTTP/3 is HTTP running over QUIC.

The problem it solves: head-of-line blocking. HTTP/2 allowed many streams over one TCP connection — but TCP guarantees ordered delivery of everything, so one lost packet stalls every stream, including those whose data arrived fine. The multiplexing was real and the benefit was undermined at the layer below.

QUIC moves stream management above the transport, so streams are genuinely independent: a lost packet affecting one stream does not block the others.

Why it uses UDP. Not because UDP is better, but because TCP cannot be changed in practice. Middleboxes — firewalls, NAT devices, carrier equipment — inspect and enforce assumptions about TCP, so a new transport would be blocked or mangled across the internet. UDP passes through, so QUIC builds reliability, ordering and congestion control on top of it, in user space, where it can be updated with an application rather than an operating system. That deployability argument is the whole reason it exists.

The other improvements:

Faster connection establishment. QUIC integrates the cryptographic handshake with the transport handshake, so a connection is typically established in one round trip, and zero for a resumed connection — against TCP plus TLS separately.

Encryption is mandatory and covers almost the whole transport header, which prevents middlebox interference and ossification.

Connection migration. A connection is identified by a connection ID rather than by the IP and port, so moving from Wi-Fi to mobile does not break it — genuinely valuable on phones, where connections previously had to be re-established.

Better loss recovery and modern congestion control.

The trade-offs:

Higher CPU cost, since processing happens in user space, which matters at scale.

Some networks block or throttle UDP, requiring a TCP fallback.

Harder to inspect and debug, which is a feature for users and a problem for network operators.

Related Questions