MediumPremium

HTTP/2 vs HTTP/3 (QUIC)

Why did we move from TCP to UDP for HTTP/3? Explain Head-of-Line blocking.
15 min read14 Jan 2026

Solution

TCP Head-of-Line Blocking

In HTTP/2, we multiplex streams (CSS, JS, Images) over a single TCP connection. If one packet is lost (say, part of the CSS file), the Operating System's TCP layer pauses ALL streams (including the JS and Images) until that one packet is retransmitted. The browser sees nothing.

The QUIC (HTTP/3) Solution

QUIC is built on UDP. It handles reliability and ordering in user-space, not the kernel. If a packet for the "CSS stream" is lost, only that stream pauses. The "JS stream" and "Image stream" continue unaffected.