HTTP/2 is standardised and browser support is nearly universal. A practical guide to deploying HTTP/2, measuring performance, and solving common issues.
State of Adoption in 2016¶
HTTP/2 browser support has reached critical mass — Chrome, Firefox, Edge, Safari, and Opera cover over 80% of users. On the server side, nginx 1.9.5+, Apache 2.4.17+, and all major CDNs (CloudFlare, Fastly, Akamai) support HTTP/2.
Yet most websites still run on HTTP/1.1. The main reason? HTTPS as a prerequisite — but with Let’s Encrypt, this is no longer an obstacle.
Configuring nginx for HTTP/2¶
Enabling HTTP/2 in nginx is a one-line change:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Modern SSL configuration
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# HSTS
add_header Strict-Transport-Security "max-age=31536000" always;
}
One word — http2 — in the listen directive. Nginx automatically falls back to HTTP/1.1 for older clients.
Measurable Results¶
Our measurements on real projects show:
- E-commerce page (50+ resources) — 30% improvement in load time
- SPA with API calls — 15-20% improvement thanks to multiplexing of API requests
- Content site with many images — 25% improvement, elimination of domain sharding
The biggest benefit is on pages with many small resources — exactly where HTTP/1.1 suffers from head-of-line blocking.
Server Push and Optimisation¶
HTTP/2 Server Push proactively sends resources:
location / {
http2_push /css/app.css;
http2_push /js/app.js;
}
Beware of over-pushing — unnecessary pushes waste bandwidth. Measure what helps:
- Push critical CSS and JS
- Do not push images (too large)
- Respect the cache — do not push what the client already has cached
- Consider 103 Early Hints as an alternative
Conclusion: Migration is Easy, Benefits are Real¶
HTTP/2 migration is low-hanging fruit — minimal effort, measurable performance improvement. If your website runs on HTTPS (and it should), add HTTP/2 today. Measure results with WebPageTest or Lighthouse.
Need help with implementation?
Our experts can help with design, implementation, and operations. From architecture to production.
Contact us