The Evolution of the Web: Comparing HTTP/1.1, HTTP/2, and HTTP/3
Source: Dev.to
If you’ve ever wondered why the modern web feels so much snappier than it did a decade ago, the answer lies in the “plumbing” of the internet. The Hypertext Transfer Protocol (HTTP) has undergone a massive transformation to keep up with our data‑heavy world.
1. The Bottleneck: HTTP/1.1
In the early days, HTTP/1.1 was the gold standard, but it suffered from Head‑of‑Line (HOL) Blocking.
- Single request per connection: The browser could handle only one request at a time per TCP connection.
- Limited concurrency: Browsers typically open a maximum of 6 concurrent TCP connections to a single domain.
- Impact: A page with 100 images would be queued in batches of six, causing noticeable delays.
2. The Efficiency Upgrade: HTTP/2
Released in 2015, HTTP/2 introduced true multiplexing:
- Single connection, multiple streams: Data is split into independent streams over one TCP connection.
- HPACK compression: Header compression reduces overhead.
The Catch
HTTP/2 still relies on TCP. If a single packet is lost, TCP pauses everything to retransmit, resulting in TCP‑level HOL blocking.
3. The Future is Here: HTTP/3 (QUIC)
HTTP/3 replaces TCP with QUIC, built on UDP, eliminating the remaining performance bottlenecks.
- No more waiting: Loss of a packet for “Image A” does not stall “Image B”.
- Zero‑RTT (0‑RTT) handshake: Connection and security handshakes are combined, making the initial exchange nearly instant.
- Connection migration: A unique Connection ID lets sessions survive IP changes (e.g., Wi‑Fi → LTE) without interruption.
Technical Comparison
| Aspect | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| Transport | TCP | TCP | QUIC over UDP |
| Concurrency | Max ~6 requests/conn | Multiplexed streams | Multiplexed (no HOL) |
| HOL Blocking | Connection‑level | TCP‑level (packet loss) | None |
| Compression | None (plaintext) | HPACK | QPACK |
| TLS | Optional | Effectively mandatory | Mandatory (TLS 1.3) |
| Handshake | Multi‑step | Faster (ALPN) | Instant (0‑RTT/1‑RTT) |
| Connection Migration | No | No | Yes (Wi‑Fi to LTE) |
Summary: Which Should You Use?
- HTTP/1.1: Best left for legacy internal systems.
- HTTP/2: The current industry standard for general web traffic.
- HTTP/3: Essential for mobile apps, high‑latency regions, and performance‑critical platforms (e.g., Google, Facebook, Netflix).
The shift to HTTP/3 represents a “mobile‑first” internet where connections are no longer assumed to be stable, but are optimized to be resilient.