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.
| 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 static files are identical to what the API returns, but with no rate limit and no server round trip. Use the API when you want a query and a content type; use the files when you want to cache one document.
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 →