HTTP Protocol Versions Timeline
| Version | Year | Key Features |
|---|---|---|
| HTTP/0.9 | 1991 | GET only, no headers, single-line protocol |
| HTTP/1.0 | 1996 | Headers, status codes, Content-Type. One request per connection. |
| HTTP/1.1 | 1997 | Persistent connections, chunked transfer, Host header. Still most common. |
| HTTP/2 | 2015 | Multiplexing, header compression (HPACK), server push, binary framing. Single connection, multiple streams. |
| HTTP/3 | 2022 | QUIC transport (UDP), 0-RTT, no head-of-line blocking, mandatory TLS 1.3. 30% of web traffic now uses HTTP/3. |
How to Enable HTTP/2 and HTTP/3
Apache: Enable mod_http2 module. HTTP/2 works over TLS (port 443) only — no h2c (HTTP/2 over cleartext) in browsers. Nginx: Add http2 to listen directive. For HTTP/3, use the quiche patch or wait for mainline QUIC support. HestiaCP: Enable HTTP/3 QUIC in the Nginx proxy template. Both HestiaCP and standalone Nginx need UDP port 443 open for QUIC to function.
CLI Equivalent
curl -sI --http2 -o /dev/null -w "%{http_version}\n" https://example.com