HTTP/2
A binary, multiplexed protocol that carries many concurrent requests over one TCP connection and compresses headers with HPACK — eliminating HTTP/1.1's application-layer head-of-line blocking.
What it is
HTTP/2 (RFC 9113) replaces HTTP/1.1's text framing with a binary layer of frames and streams. Many requests and responses interleave over a single connection (multiplexing), headers are compressed with HPACK, and streams can be prioritised. In browsers it is only used over TLS, negotiated via ALPN.
VERIFY NEGOTIATION
curl -I --http2 https://example.com
# HTTP/2 200 ← protocol confirmed via ALPNTCP head-of-line blocking remains
HTTP/2 removes application-layer HoL blocking, but all streams still share one TCP connection. A single lost packet stalls every stream until it is retransmitted. HTTP/3 fixes this by moving to QUIC.
Why it matters
- Multiplexing removes the need for connection sharding and asset concatenation hacks.
- HPACK header compression sharply cuts overhead on request-heavy pages.
Common mistakes
- Keeping HTTP/1.1-era optimisations (domain sharding, sprite sheets) that hurt under HTTP/2.
- Relying on Server Push — it is deprecated and removed from Chrome; use 103 Early Hints instead.
How WebInspect checks this
- WebInspect detects HTTP/2 support via ALPN and reports it in the protocols and performance sections.