HTTP/1.1 öffnete eine Handvoll Verbindungen und schickte über jede eine Anfrage nach der anderen, also kostete jede zusätzliche Datei einen Warteplatz. HTTP/2 schickt sie alle gleichzeitig über eine Verbindung, und diese eine Änderung macht mehrere alte Optimierungen sinnlos oder schädlich.
Einschalten
listen 443 ssl;
http2 on;
In jedem Browser setzt es TLS voraus, kommt also mit dem Zertifikat, das Sie ohnehin haben. Sonst muss sich nichts ändern.
Was nicht mehr stimmt
Alle Skripte in eine Datei zu packen und CSS-Sprites gab es, um die ANZAHL der Anfragen zu senken. Unter HTTP/2 kostet diese Anzahl fast nichts — und ein großes Bündel heißt, dass eine geänderte Zeile das Ganze für jeden Besucher ungültig macht.
- Liefern Sie mehrere kleine Dateien aus, die unabhängig voneinander gecacht werden.
- Verteilen Sie nicht auf mehrere Domains — das war ein Trick für mehr parallele Verbindungen und kostet heute je einen zusätzlichen Handshake.
- Betten Sie nur ein, was der erste Bildaufbau wirklich braucht.
HTTP/3
listen 443 quic reuseport;
add_header Alt-Svc 'h3=":443"; ma=86400';
HTTP/3 läuft über UDP. Sein echter Gewinn liegt in unzuverlässigen Netzen — vor allem im Mobilfunk — wo ein verlorenes Paket nicht mehr alles andere auf der Verbindung blockiert.
Prüfen Sie, was Sie ausliefern
curl -sI --http2 https://yourdomain.com | head -1
curl -sI --http3 https://yourdomain.com | head -1
Keines von beiden macht eine langsame Seite schnell. Liegt der TTFB bei 900 ms, ist das Protokoll nicht das Problem, und der Wechsel zu HTTP/3 ändert nichts, was Sie spüren.