Home/Labs/HTTP/1 vs /2 vs /3
All 280 Labs
INTERACTIVE LAB🚀

HTTP Protocol Versions Lab (Interactive)

Load an 8-resource page over lossy mobile RTT and watch head-of-line blocking shift from app to TCP to gone. Compare HTTP/1.1 connection limits, HTTP/2 multiplexing over one TCP, and HTTP/3 QUIC independent streams with real handshake, retransmission, and header-compression math.

HTTP/1.1 vs HTTP/2 vs HTTP/3 (QUIC)

Load an 8-resource page over a lossy mobile link and watch head-of-line blocking behave differently per version.

Network conditions

Page resources (628 KB total)

index.html

8KB · 20ms

critical.css

30KB · 5ms

app.js

240KB · 10ms

hero.webp

180KB · 2ms

analytics.js

20KB · 300ms 🐌

fonts.woff2

60KB · 3ms

avatar.png

40KB · 4ms

ads.js

50KB · 15ms

Streams interleave over 1 TCP, but ONE dropped TCP packet freezes ALL streams until retransmit (transport HoL).

Expected dropped packets ≈ 9.2 → retransmission stall 1840ms (whole connection frozen)

HTTP/2 (1 TCP, binary frames)

Full page load2401ms
Handshake cost160ms (TCP+TLS 2 RTT)
TTFB (first byte)265ms
Header bytes (8 reqs)1,680 B (HPACK)
Wi-Fi → 5G migrationno (breaks on IP change)

Evolution recap

• H1: serial ASCII, 6-socket workaround, domain sharding.

• H2: binary frames, multiplexed streams, HPACK, server push — still TCP.

• H3: QUIC in user space over UDP, independent streams, combined TLS 1.3, Connection IDs.

Raise loss to 5%+ on h2 vs h3: the gap is the HoL-blocking story.

How It Works Under the Hood

HTTP/1.1 serializes requests per TCP connection, so browsers open six sockets per domain and one slow resource blocks its queue — application-layer head-of-line blocking. HTTP/2 replaced ASCII with binary frames and multiplexed all streams over one connection with HPACK compression, but inherited TCP's in-order guarantee: a single dropped packet on flaky cellular freezes every stream until retransmission. HTTP/3 moves transport to user-space QUIC over UDP with per-stream recovery, so only the affected stream stalls, while combined TLS 1.3 handshakes give 1-RTT (or 0-RTT resumption) setup and 64-bit Connection IDs let a video stream survive Wi-Fi-to-5G IP changes.

Core Architectural Principles

  • H1: max 6 TCP connections, plaintext headers duplicated per request, application HoL blocking.
  • H2: multiplexed binary streams + HPACK over one TCP — but one packet drop freezes ALL streams (transport HoL).
  • H3/QUIC: UDP user-space transport, independent streams, 0-RTT resumption, Connection-ID migration across IP changes.
Interview Round Script

Narrate HoL blocking as a three-act evolution: H1 application-level, H2 surviving at the TCP layer under packet loss, H3 eliminating it with independent QUIC streams. Add the 2-RTT versus 1/0-RTT handshake math and Connection-ID migration for mobile — these are the differentiators interviewers listen for.

Key Trade-Offs

QUIC dominates lossy mobile networks but runs in user space without NIC offload, and strict firewalls blocking UDP 443 force HTTP/2 fallback.

Related Curriculum Chapter

HTTP/1.1 vs HTTP/2 vs HTTP/3 (QUIC)

Read Full Chapter Blueprint

Explore More Interactive Labs

View All 280 Labs