HTTP/2 je standardizovaný a podpora v prohlížečích je téměř univerzální. Praktický průvodce nasazením HTTP/2, měřením výkonu a řešením běžných problémů.
Stav adopce v roce 2016¶
HTTP/2 podpora v prohlížečích dosáhla kritické masy — Chrome, Firefox, Edge, Safari a Opera pokrývají přes 80% uživatelů. Na serveru nginx 1.9.5+, Apache 2.4.17+ a všechny major CDN (CloudFlare, Fastly, Akamai) podporují HTTP/2.
Přesto většina webů stále běží na HTTP/1.1. Hlavní důvod? HTTPS jako prerekvizita — ale s Let’s Encrypt je i toto vyřešeno.
Konfigurace nginx pro HTTP/2¶
Aktivace HTTP/2 v nginx je jednořádková změna:
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 konfigurace
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# HSTS
add_header Strict-Transport-Security "max-age=31536000" always;
}
Jedno slovo — http2 — v listen direktivě. Nginx automaticky fallbackuje na HTTP/1.1 pro starší klienty.
Měřitelné výsledky¶
Naše měření na reálných projektech ukazují:
- E-commerce stránka (50+ resources)** — 30% zrychlení load time
- SPA s API voláním** — 15-20% zrychlení díky multiplexingu API requestů
- Content site s mnoha obrázky** — 25% zrychlení, eliminace domain sharding
Největší benefit je na stránkách s mnoha malými resources — přesně tam, kde HTTP/1.1 trpí head-of-line blocking.
Server Push a optimalizace¶
HTTP/2 Server Push proaktivně posílá resources:
location / {
http2_push /css/app.css;
http2_push /js/app.js;
}
Pozor na over-pushing — zbytečný push plýtvá bandwidth. Měřte, co pomáhá:
- Pushujte kritické CSS a JS
- Nepushujte obrázky (příliš velké)
- Respektujte cache — nepushujte, co má klient v cache
- Zvažte 103 Early Hints jako alternativu
Závěr: migrace je snadná, benefity jsou reálné¶
HTTP/2 migrace je nízko visící ovoce — minimální úsilí, měřitelné zlepšení výkonu. Pokud váš web běží na HTTPS (a měl by), přidejte HTTP/2 ještě dnes. Měřte výsledky pomocí WebPageTest nebo Lighthouse.