HTTP/2 brought multiplexed streams over one TCP connection. HTTP/3 moves that multiplexing onto QUIC (UDP-based). The difference matters most when packets get lost — and increasingly determines whether bidi connections feel snappy on flaky networks.

Advertisement

HTTP/2 head-of-line under loss

Multiplexed streams share one TCP connection. A lost TCP packet stalls ALL streams until retransmit arrives. On mobile/wifi this is the dominant cause of jankiness.

HTTP/3 per-stream loss isolation

QUIC streams are independently sequenced. Loss on stream A doesn't block stream B. Massive win for apps with many concurrent streams (browsers loading many assets, gRPC fan-out).

Advertisement

Operational deltas

QUIC uses UDP — some networks block or rate-limit it. Always need TCP fallback. Connection migration (changing IPs without losing connection) is QUIC-only — huge mobile win.

HTTP/3 wins on lossy networks and mobile. Keep TCP fallback. Connection migration is the QUIC superpower.