api: YAML JSON TOON Database version: 1.0.0 format: json dataset: id: 45 slug: http-protocol-evolution title: "HTTP Protocol Evolution: HTTP/1.1 to HTTP/3" description: "The evolution of HTTP from HTTP/1.1 through HTTP/2 to HTTP/3 (QUIC): key differences, performance implications, migration strategies, and adoption status." summary: "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." use_when[2]: You are deciding which HTTP versions to support or explaining why they differ.,You need the transport and RFC for each version. caveats[2]: Adoption figures change over time and differ by source.,"Benefits depend on the workload; some optimizations for HTTP/1.1 (sharding, spriting) hurt on HTTP/2." related[4]: http2-http3-features,network-ports-reference,http-caching-guide,tcp-ip-protocol-suite category: Web Technologies category_slug: web-technologies tags: "http,http2,http3,quic,protocol,performance,networking,tls" view_count: 0 created_at: 1777673262 updated_at: 1777673262 entry_count: 3 fields[10]{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… data: versions[3]: - version: HTTP/1.1 year: 1999 transport: TCP rfc: "RFC 7230-7235 (updated), RFC 2616 (original)" key_features[5]: Persistent connections (keep-alive),Chunked transfer encoding,"Cache control (Cache-Control, ETag)",Content negotiation (Accept headers),Range requests for partial content limitations[4]: Head-of-line blocking at application layer (one request at a time per connection),Verbose text-based headers (no compression),No server push capability,Multiple connections needed for parallelism (typically 6 per origin) performance_tips[4]: Domain sharding (splitting resources across multiple domains),"CSS sprites, image inlining, concatenation","Resource hints (preconnect, prefetch, preload)",Keep connection count optimal (not too many) adoption: Near 100% — every web server and client supports it - version: HTTP/2 year: 2015 transport: TCP (with binary framing layer) rfc: "RFC 7540, RFC 7541" key_features[6]: Binary framing layer (not text-based like HTTP/1.1),Multiplexed streams (multiple requests in one connection),HPACK header compression (eliminates redundant headers),Server push (server sends resources before requested),Stream prioritization (dependency tree),Connection coalescing (multiple origins share one connection) limitations[5]: Head-of-line blocking at TCP layer (packet loss blocks ALL streams),TCP congestion control affects all multiplexed streams,Server push often misused (better alternatives exist),Requires TLS in practice (browsers only implement HTTP/2 over TLS),Debugging harder than HTTP/1.1 (binary protocol) migration_notes: "Enable via reverse proxy (Nginx, Caddy) or CDN. No application changes needed. TLS 1.2+ required. Use h2 ALPN negotiation." adoption: ~40% of all websites (declining as HTTP/3 grows) - version: HTTP/3 year: 2022 transport: "QUIC (UDP-based, with TLS 1.3 built-in)" rfc: "RFC 9114, RFC 9000 (QUIC), RFC 9001 (TLS over QUIC)" key_features[6]: "QUIC transport: 0-RTT connection establishment, connection migration","No TCP-level HOL blocking (separate streams, independent delivery)",Built-in TLS 1.3 encryption (no separate TLS layer),Connection migration (survives IP/network changes),Faster handshake (0-1 RTT vs 2-3 RTT for TCP+TLS),User-space implementation (faster protocol evolution) limitations[5]: UDP-based — some firewalls/nat devices block or throttle UDP,Higher CPU usage than TCP (user-space processing),QUIC not as mature as TCP stack (kernel optimizations),Less tooling for debugging compared to TCP-based protocols,Some middleboxes still interfere with UDP traffic performance_gains: "40-60% faster page loads on slow/mobile networks, especially with packet loss (3-10% loss: HTTP/3 vs HTTP/2 improvement is dramatic)" adoption: "~35%+ of websites as of 2026. All major CDNs (Cloudflare, Fastly, Akamai) support it. All modern browsers support it." migration_notes: Enable at CDN level first. Verify UDP is allowed on network path (typically port 443 UDP). Keep HTTP/2 fallback. Monitor for middlebox interference.