Skip to main content

HTTP/2

HTTP/2 is a revision of HTTP adding binary framing, request multiplexing over one connection, and header compression to improve performance.

HTTP/2 is the second major version of the Hypertext Transfer Protocol, standardized in 2015. It keeps HTTP's familiar semantics, such as methods, headers, and status codes, while overhauling how data is framed and transmitted to reduce latency.

How It Works

HTTP/2 replaces the text-based wire format of HTTP/1.1 with a binary framing layer. Its key feature is multiplexing: many requests and responses share a single TCP connection at the same time, each carried as an independent stream. This eliminates the head-of-line blocking that forced HTTP/1.1 clients to open multiple connections or queue requests.

HTTP/2 also compresses headers using HPACK, which removes the redundancy of sending similar headers on every request, and historically offered server push, a way to send resources before the client asks. In practice browsers and servers run HTTP/2 over TLS.

Why It Matters

Multiplexing and header compression cut page load times, especially for sites with many small assets, and remove the need for workarounds like domain sharding and asset concatenation. HTTP/2 also underpins gRPC, whose streaming model depends on it.

One limitation remains: because all streams share one TCP connection, a lost packet stalls every stream, a transport-level form of head-of-line blocking. HTTP/3 addresses this by moving to QUIC over UDP. Even so, HTTP/2 is broadly deployed and a sensible default for modern web traffic.

Related Terms

HTTP/2 runs over TCP and TLS, is the transport for gRPC, and is succeeded by HTTP/3.