HTTP/2 je standard postao 2015, HTTP/3 (QUIC-bazirani) finaliziran 2022. Većina globalnog interneta već koristi oba, ali mnogi sajtovi 2026 i dalje vrte na starom HTTP/1.1. Razlika u performansama je ozbiljna: HTTP/2 daje 10-30% brži page load, HTTP/3 dodatnih 10-20% na mobilnim i nestabilnim mrežama. Plus HSTS osigurava da posjetitelji uvijek dolaze preko HTTPS-a, ne dozvoljavajući downgrade napade.
Ovaj vodič pokazuje što HTTP/2, HTTP/3 i HSTS stvarno rade, kako provjeriti je li tvoj sajt na njima, kako ih uključiti, i koje su zamke prije production deploya.
HTTP/1.1 vs HTTP/2 vs HTTP/3 — bitne razlike
HTTP/1.1 (1997.)
- Jedan request po TCP konekciji u jednom trenutku (sequential).
- Browser tipično otvara 6 paralelnih konekcija po hostu, što je workaround ali ima overhead.
- Header kompresija nema — svaki request ponavlja iste headere.
- Round-trip latency penalty.
HTTP/2 (2015.)
- Multiplexing — sve requeste paralelno kroz jednu konekciju.
- HPACK header kompresija — manje overhead.
- Server push (deprecated u Chrome 2022, ali postoji).
- Binary protokol umjesto textual (efficient parsing).
- I dalje TCP base — head-of-line blocking ako jedan packet kasni.
HTTP/3 (2022.)
- Bazira se na QUIC umjesto TCP — UDP-based, custom transport.
- Nema head-of-line blocking — packet loss ne blokira druge streamove.
- 0-RTT connection resumption — ponovne posjete pružaju TLS handshake.
- Sjajan za mobilne i nestabilne mreže (auto-reconnects ako mreža promijeni IP).
- Built-in encryption — sve je šifrirano, uvijek (TLS 1.3).
Kako provjeriti što tvoj sajt podržava
1. Browser DevTools
- Otvori sajt u Chrome.
- F12 → Network tab.
- Refresh page.
- Klik desno na bilo koji header column → uključi Protocol.
- U Protocol stupcu vidiš
h2(HTTP/2),h3(HTTP/3),http/1.1ilihttp/2+QUIC.
2. Online testeri
- http3check.net — eksplicitno provjeri HTTP/3
- KeyCDN HTTP/2 Test
- SSL Labs Server Test — pokazuje sve protokole + TLS
3. Komandna linija
# Test HTTP/2
curl -I --http2 https://tvojsajt.hr
# Test HTTP/3
curl -I --http3 https://tvojsajt.hr # treba curl 7.66+
# Provjeri Alt-Svc header (kaže browser-u da HTTP/3 postoji)
curl -I https://tvojsajt.hr | grep -i alt-svc
Kako uključiti HTTP/2
U 2026, HTTP/2 je default na svim modernim web serverima:
- Apache 2.4.17+:
mod_http2module. Enable uhttpd.confsaProtocols h2 h2c http/1.1. - Nginx 1.9.5+:
listen 443 ssl http2;u server block. - LiteSpeed: enabled by default, no config needed.
- Caddy: auto enabled.
Uvjet: SSL/TLS uključen (HTTP/2 u browserima radi samo preko HTTPS-a).
Na cPanel hostingu (kao WMD-ov LiteSpeed) — već enabled.
Kako uključiti HTTP/3
HTTP/3 zahtjeva malo više konfiguracije i UDP port 443 firewall pravilo.
Nginx + QUIC
Nginx native HTTP/3 podrška od 1.25 (2023). Konfiguracija:
server {
listen 443 ssl;
listen 443 quic reuseport;
http2 on;
http3 on;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
add_header Alt-Svc 'h3=":443"; ma=86400';
}
Firewall: dozvoli UDP 443 na network sloju.
LiteSpeed (najlakše)
LiteSpeed Enterprise i OpenLiteSpeed imaju ugrađen QUIC. Enabled by default ako koristiš QUIC.cloud CDN — automatski radi.
Na WMD LiteSpeed hostingu, HTTP/3 je aktivan out-of-the-box.
Apache + HTTP/3
Apache nema native HTTP/3 podršku 2026. Workaround: stavi Nginx ispred Apache-a (reverse proxy) za HTTP/3 termination.
Cloudflare
Ako koristiš Cloudflare ispred sajta, HTTP/3 se enableuje jednim klikom u dashboardu (Network → HTTP/3 (with QUIC) → ON). Sajt automatski dobiva HTTP/3 na edge razini, čak i ako origin server ne podržava.
HSTS — što je i zašto treba
HTTP Strict Transport Security (HSTS) je HTTP header koji govori browseru: "za ovu domenu, uvijek koristi HTTPS, nikad HTTP — čak ni ako user klikne na http:// link".
Bez HSTS-a, korisnik koji upiše tvojsajt.hr u browser ide na HTTP, server odradi 301 redirect na HTTPS. Taj jedan HTTP request je ranjiv na MITM napad (downgrade attack) — napadač može presresti i preusmjeriti na fake HTTPS sajt.
Sa HSTS-om, browser pamti da je sajt HTTPS-only i odbija ići preko HTTP-a, bez obzira što korisnik kuca.
Kako uključiti HSTS
Apache
# U .htaccess ili Apache config
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>
Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
WordPress plugin
HSTS plugin ili Wordfence/Solid Security daje HSTS toggle u GUI-u.
Cloudflare
U dashboardu: SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) → Enable.
HSTS parametri
max-age=31536000— koliko sekundi browser pamti (godina = 31536000).includeSubDomains— primjenjuje se i na sve subdomain-e (npr.blog.tvojsajt.hr).preload— kandidat za HSTS preload list (vidi niže).
HSTS preload list — kad i kad NE
HSTS preload list je popis domena u Chromium-u (i drugim browserima) koje su uvijek HTTPS, čak i pri prvoj posjeti. Brže nego header-based HSTS.
Za preload trebaš:
- Imati HSTS header sa
max-age=31536000+includeSubDomains+preload. - Sve subdomain-e moraju biti HTTPS-only.
- Prijavit na hstspreload.org.
Oprez: jednom kad si na preload list, izbacivanje traje 3-6 mjeseci kroz Chrome release cycle. Ako možda ikad trebaš HTTP (npr. za dev subdomain), ne preloadaj.
Preporuka 2026: uključi HSTS header sa max-age 6 mjeseci (15768000) za početak, povećaj na godinu nakon mjesec dana testiranja. Preload samo ako si 100% siguran da nikad nećeš trebat HTTP fallback.
Performance impact — realan
Tipični WordPress sajt, 4G mobile connection:
| Protokol | TTFB | Total page load | Razlika |
|---|---|---|---|
| HTTP/1.1 | ~350ms | ~3.2s | baseline |
| HTTP/2 | ~280ms | ~2.4s | -25% |
| HTTP/3 | ~220ms | ~1.9s | -40% |
Brojevi orijentacijski — varira ovisno o broju resursa, geografskoj udaljenosti od servera, mreži klijenta.
Zamke i česte greške
- HTTP/2 zahtijeva valid SSL — Let's Encrypt OK, self-signed cert ne radi u production browserima.
- HTTP/3 traži UDP 443 otvoren u firewall-u — neki ISP-evi/korporative firewall-i blokiraju.
- HSTS preload je jednosmjeran — pomisli prije nego dodaš.
- HSTS bez SSL = sajt nedostupan — ako HSTS aktiviran a SSL istekne, browser blokira posjete (good security, ali znaj rizik).
- Server push (HTTP/2 feature) je deprecated u Chrome od 2022. Ne oslanja se na njega.
Što WMD pristup daje
- LiteSpeed Enterprise default — HTTP/2 + HTTP/3 (QUIC) aktivni out-of-the-box.
- Let's Encrypt SSL automatski — preduvjet za HTTP/2 i HSTS.
- HSTS toggle u cPanelu (jednim klikom) ili kroz LiteSpeed Cache plugin.
- QUIC.cloud CDN opcionalno — HTTP/3 na edge globalno.
- SSL Labs A+ rating kod default postavki.
Najčešća pitanja
Trebam li ručno enable-at HTTP/3 ako koristim Cloudflare?
Ne, Cloudflare to radi automatski na edge. Tvoj origin može ostat HTTP/2 — CF konvertira u HTTP/3 prema posjetitelju.
Hoće li HTTP/3 razbit nešto?
Rijetko. Browseri imaju automatic fallback na HTTP/2 ako HTTP/3 ne radi. Worst case: par % korisnika dobiva HTTP/2 umjesto HTTP/3.
Što s WebSockets i HTTP/3?
WebSockets postoje samo nad HTTP/1.1 standardno. WebTransport (HTTP/3 native API) je alternativa, ali još emerging. Za većinu use case-eva, WebSockets nad HTTP/1.1 i dalje rade dobro.
HSTS preload — kako se vratit nazad ako trebam?
Submit removal request na hstspreload.org. Chrome remove cycle traje 3-6 mjeseci. Plus updating browser version u međuvremenu nastavi forsiranjem HTTPS-a.