What is HTTP/3, and why does it run over QUIC instead of TCP?
HTTP/3 is HTTP carried over QUIC, a protocol built on UDP that has its own reliable streams, congestion control and built-in TLS 1.3. It avoids TCP head-of-line blocking, connects faster, and survives network changes such as moving from Wi-Fi to mobile data.
Explain it simply
TCP is built into every operating system and is hard to change. QUIC rebuilds the good parts of TCP and TLS together in user space on top of UDP, so browsers and servers can improve it without waiting for OS updates.
Example
HTTP/2 stack: HTTP/2 -> TLS -> TCP -> IP (2 handshakes: TCP then TLS)
HTTP/3 stack: HTTP/3 -> QUIC (includes TLS 1.3) -> UDP -> IP
New connection: about 1 round trip (TCP + TLS 1.2 needs more)
Returning visit: 0-RTT possible
Connection ID: connection continues if your IP changesBecause the connection is identified by a connection ID rather than the IP and port, a phone moving from home Wi-Fi to mobile data can keep a download going. QUIC always encrypts, including most of its headers.
Some firewalls block or throttle UDP port 443, so browsers fall back to HTTP/2 over TCP. Servers advertise HTTP/3 support through the Alt-Svc header.
What to say in the interview
"HTTP/3 maps HTTP onto QUIC, which gives per-stream reliability, built-in encryption, faster setup and connection migration over UDP. It is deployed alongside HTTP/2 with automatic fallback."
Common mistakes
- Saying QUIC is unreliable because it uses UDP. QUIC provides its own reliability.