Mike's Notes
Useful background information.
Resources
- https://blog.levelupcoding.com/
- https://www.linkedin.com/posts/nikkisiapno_http-2-vs-http-3-whats-the-difference-activity-7307711303282802688-xgWK/
- https://en.wikipedia.org/wiki/HTTP
- https://httpwg.org/specs/
References
Repository
- Home >
Last Updated
23/03/2025
HTTP 2 vs HTTP 3 — What's the Difference?
By: Nikky Siapno
Level Up Coding: 23/03/2025
HTTP 1 started in 1996. The very next year HTTP 1.1 followed. It was another ~20 years until HTTP 2 became standardized in 2015. And in recent years (2022), HTTP 3 was officially standardized.
But what’s the difference?
Starting at the foundation:
HTTP 1.1:
- Persistent connections — Reuses connections instead of opening new ones
- Chunked transfers — Sends data in parts instead of waiting for the full response
- Improved caching — Introduced headers for better caching and connection management
- Sequential requests — Requests block each other (HoL blocking at the request level)
- Multiple connections needed — Browsers used multiple TCP connections for speed
- It introduced core features still used today.
HTTP 2:
- Multiplexing — Multiple requests in a single TCP connection
- Header compression (HPACK) — Reduces metadata size
- Stream prioritization — Ensures critical resources load first
- Head-of-line (HoL) blocking — A lost packet blocks all streams
- While HTTP 2 optimized TCP, it remained constrained by TCP’s head-of-line blocking.
HTTP 3:
- Built on QUIC (UDP) — No more TCP bottlenecks
- Independent streams — Packet loss in one stream doesn’t affect others
- Faster handshakes — Combines transport + encryption setup in one step
- Mandatory encryption (TLS 1.3) — Security by default
- Connection migration — Seamless across network changes
In a nutshell: HTTP 2 optimized TCP, but HTTP 3 rewrites the game with QUIC, making it faster, more reliable, and encrypted by default.
Which fact surprised you?
No comments:
Post a Comment