HTTP/2 brings multiplexing, server push, header compression, and binary framing. What this means for the performance of web applications and how to prepare for the new standard.
HTTP/1.1 — a 16-year-old protocol¶
HTTP/1.1 from 1999 was not designed for the modern web. The text-based protocol with one request per TCP connection leads to head-of-line blocking. Workarounds such as domain sharding, sprite sheets, and inline resources are hacks, not solutions.
HTTP/2, standardised in May 2015 (RFC 7540), is based on Google’s SPDY protocol and addresses the fundamental limitations of HTTP/1.1.
Key features of HTTP/2¶
HTTP/2 brings significant improvements:
- Multiplexing — multiple requests over a single TCP connection, in parallel, without blocking
- Header compression (HPACK) — eliminates redundant headers (cookies, user-agent sent only once)
- Server Push — the server proactively sends resources it knows the client will need
- Binary framing — binary format is more efficient to parse than text
- Stream priority — the client can prioritise important resources
Impact on frontend optimisations¶
HTTP/2 changes best practices for web performance:
- Domain sharding — no longer needed; multiplexing handles parallelism
- Sprite sheets — individual files are fine thanks to multiplexing
- Concatenation — smaller, granular bundles enable better caching
- Inlining — server push is a more elegant alternative
Note: HTTP/2 requires HTTPS (in practice, if not formally). Let’s Encrypt makes this requirement trivial.
Support and adoption¶
Browser support is already good — Chrome, Firefox, Edge, and Safari all support HTTP/2. On the server side:
- nginx — full support from version 1.9.5
- Apache — mod_http2
- Node.js — experimental support
- CDN — CloudFlare, Fastly, and others already support HTTP/2
Migration is straightforward — just update the server configuration and ensure HTTPS.
Conclusion: a painless performance upgrade¶
HTTP/2 is a rare case of an upgrade that delivers performance benefits with almost no effort on the developer’s side. Switch to HTTPS (Let’s Encrypt), update the server to support HTTP/2, and your users will immediately notice the difference.
Need help with implementation?
Our experts can help with design, implementation, and operations. From architecture to production.
Contact us