HTTP/2 ist die zweite Fassung des HTTP-Protokolls, 2015 verabschiedet, und ihr Kern ist eine einzige Änderung: Über eine Verbindung laufen viele Anfragen gleichzeitig. Vorher war je Verbindung eine Anfrage möglich, und Browser öffneten darum sechs davon je Domain.
- HTTP/2
Die zweite Fassung des HTTP-Protokolls, die mehrere Anfragen über eine Verbindung schickt.
Beispiel: „Mit HTTP/2 fiel das Zusammenfassen aller Symbole in eine einzige Bilddatei weg.“Verabschiedet 2015 als RFC 7540, aufbauend auf SPDY von Google. Praktisch setzen alle Browser es allein über eine verschlüsselte Verbindung ein, auch wenn der Standard das nicht verlangt.
Abgrenzung zu HTTP/3: Dieses löst dasselbe Problem eine Schicht tiefer, über QUIC statt über TCP.
Was HTTP/2 an der Ladezeit ändert
Es nimmt den Anfragen die Warteschlange. Eine Seite mit sechzig Dateien lud vorher in Gruppen von sechs; nun gehen alle gleichzeitig über eine Verbindung, und die Latenz fällt dafür nur einmal an.
Dazu kommt die Komprimierung der Kopfzeilen. Bei vielen kleinen Dateien machen die wiederholten Köpfe einen merklichen Teil der Übertragung aus, und das Verfahren HPACK schickt sie nur einmal vollständig.
Welche alten Tricks mit HTTP/2 überflüssig sind
Das Zusammenfassen von Dateien. Sprites, zusammengeklebte Stylesheets und das Verteilen auf mehrere Subdomains waren Antworten auf die Grenze von sechs Verbindungen. Sie kosten heute mehr, als sie bringen.
Geblieben ist das Bündeln aus anderen Gründen: Ein Bündel lässt sich besser komprimieren, und der Aufwand im Browser je Datei bleibt bestehen. Aus hundert Dateien zwanzig zu machen, lohnt noch; aus zwanzig eine nicht mehr.
Woran der Einsatz von HTTP/2 hängt
Am Server und am Zertifikat. Apache und Nginx bringen es mit, brauchen aber eine aktuelle Fassung und eine verschlüsselte Verbindung. Bei Shared Hosting entscheidet der Anbieter.
Nachsehen lässt sich das in den Entwicklerwerkzeugen des Browsers: In der Netzwerkansicht steht je Anfrage das Protokoll, als h2, h3 oder http/1.1.