
HTTP/HTTP2/HTTP3
HyperText Transfer Protocol popularly known as HTTP.
The HyperText Transfer Protocol (HTTP) is the foundation of data communication on the web. It defines how messages are formatted and transmitted, and how web servers and browsers should respond to various commands.
## HTTP/1.1
Released: 1997 Key Features:
- Text-based protocol
- One TCP connection per request
- Head-of-line blocking
- Supports caching, persistent connections (keep-alive), and chunked transfer
### Example Request
GET /index.html HTTP/1.1
Host: example.com
## HTTP/2
Released: 2015 Built On: TCP Key Improvements:
- Binary framing layer
- Multiplexing (multiple requests in a single TCP connection)
- Header compression (HPACK)
- Server push (proactively sending resources)
### Benefits Over HTTP/1.1
- Reduced latency.
- Better use of a single TCP connection.
- Fewer round trips.
## HTTP/3
Released: 2022 Built On: QUIC (UDP-based) Key Features:
- Fully multiplexed using QUIC streams.
- Connection migration (better for mobile).
- TLS 1.3 integrated by default.
- Eliminates head-of-line blocking at the transport layer.
### Why It Matters
HTTP/3 addresses long-standing issues from TCP-based protocols. It's designed to be faster and more reliable—especially on unreliable or mobile networks.
Feature | HTTP/1.1 | HTTP/2 | HTTP/3 |
---|---|---|---|
Protocol Layer | TCP | TCP | QUIC (UDP) |
Multiplexing | ❌ | ✔️ | ✔️ |
Header Compression | ❌ | HPACK | QPACK |
Server Push | ❌ | ✔️ | ✔️(limited) |
Connection Migration | ❌ | ❌ | ✔️(limited) |
HTTP/3 is already supported by major platforms like Google, Facebook, and Cloudflare. It's becoming the new default for high-performance web communication.
Published on May 16, 2024
2 min read
Found an Issue!
Find an issue with this post? Think you could clarify, update or add something? All my posts are available to edit on Github. Any fix, little or small, is appreciated!
Edit on GitHub