HTTP Protocol Evolution: HTTP/1.1 to HTTP/3
The evolution of HTTP from HTTP/1.1 through HTTP/2 to HTTP/3 (QUIC): key differences, performance implications, migration strategies, and adoption status.
The evolution of HTTP from HTTP/1.1 through HTTP/2 to HTTP/3 (QUIC): key differences, performance implications, migration strategies, and adoption status.
The evolution of HTTP from HTTP/1.1 to HTTP/2 and HTTP/3: year, transport, RFC, key features, limitations, performance tips and adoption for each version.
| Version | Year | Transport | Rfc | Key features | Limitations | Performance tips | Adoption | Migration notes | Performance gains |
|---|---|---|---|---|---|---|---|---|---|
| HTTP/1.1 | 1999 | TCP | RFC 7230-7235 (updated), RFC 2616 (original) |
|
|
| Near 100% — every web server and client supports it | null | null |
| HTTP/2 | 2015 | TCP (with binary framing layer) | RFC 7540, RFC 7541 |
|
| null | ~40% of all websites (declining as HTTP/3 grows) | Enable via reverse proxy (Nginx, Caddy) or CDN. No application changes needed. TLS 1.2+ required. Use h2 ALPN negotiation. | null |
| HTTP/3 | 2022 | QUIC (UDP-based, with TLS 1.3 built-in) | RFC 9114, RFC 9000 (QUIC), RFC 9001 (TLS over QUIC) |
|
| null | ~35%+ of websites as of 2026. All major CDNs (Cloudflare, Fastly, Akamai) support it. All modern browsers support it. | Enable at CDN level first. Verify UDP is allowed on network path (typically port 443 UDP). Keep HTTP/2 fallback. Monitor for middlebox interference. | 40-60% faster page loads on slow/mobile networks, especially with packet loss (3-10% loss: HTTP/3 vs HTTP/2 improvement is dramatic) |
The shape of this dataset, read from the data itself: every column, its type and a real value. Agents can use this to plan a query without fetching the whole document.
| Section | Field | Type | Example |
|---|---|---|---|
| versions | version | string | HTTP/1.1 |
| versions | year | integer | 1999 |
| versions | transport | string | TCP |
| versions | rfc | string | RFC 7230-7235 (updated), RFC 2616 (original) |
| versions | key_features | array | [5 items] |
| versions | limitations | array | [4 items] |
| versions | performance_tips | array | [4 items] |
| versions | adoption | string | Near 100% — every web server and client support… |
| versions | migration_notes | string | Enable via reverse proxy (Nginx, Caddy) or CDN.… |
| versions | performance_gains | string | 40-60% faster page loads on slow/mobile network… |
The static files contain the same reference rows as the API, with no API rate limit. Live metadata, such as view counts, may differ. Use the API for content negotiation; use the static files for a cacheable snapshot.
curl "https://yjtoon.com/api/dataset/http-protocol-evolution?format=toon"
const res = await fetch( "https://yjtoon.com/static-data/dataset/http-protocol-evolution.toon" ); const toon = await res.text();
Rate limit: 120 requests per minute per IP, no key and no signup. API reference →