Wie bereits angekündigt, wird die Unterstützung von HTTP/2-Server-Push in Chrome 106 und anderen Chromium-basierten Browsern in ihren nächsten Releases standardmäßig deaktiviert.
Warum wird das entfernt?
Mit HTTP/2-Server-Push konnten Websites proaktiv Ressourcen senden, die für die Seite benötigt wurden, anstatt zu warten, bis sie angefordert wurden. Dies war jedoch problematisch, wie Jake Archibald zuvor beschrieben, und die Leistungsvorteile waren oft schwer zu erkennen. Daher wurde sie nicht häufig verwendet. Nur 1,25 % der HTTP/2-Websites nutzten diese Funktion.
Die Analyse der Verwendung von HTTP/2 Server Push ergab gemischte Ergebnisse (Chrome, Akamai), ohne deutliche Steigerung der Nettoleistung und in vielen Fällen zu Leistungsabfällen.
Push wurde in vielen HTTP/3-Servern und ‑Clients nicht implementiert, obwohl es in der Spezifikation enthalten war. In einem Großteil des Webs, das das neuere HTTP/3 verwendet, wurde „Push“ bereits eingestellt. Bei einer neuerlichen Durchführung dieser Analyse haben wir festgestellt, dass die HTTP/2-Unterstützung von Websites von 1,25 % auf 0,7 % gesunken ist.
Alternativen zu HTTP/2-Server-Push
103 Early Hints ist eine weitaus weniger fehleranfällige Alternative mit vielen gleichen Vorteilen wie der Push-Funktion und deutlich weniger Nachteilen. Anstatt dass der Server Ressourcen sendet, werden bei 103 Early Hints nur Hinweise an den Browser gesendet, die er sofort anfordern kann. So kann der Browser entscheiden, ob er diese benötigt oder nicht, z. B. wenn er diese Ressourcen bereits im HTTP-Cache hat.
Eine weitere Alternative ist das Vorabladen wichtiger Ressourcen. Dabei arbeiten die Seite und der Browser zusammen, um wichtige Ressourcen schon früh im Seitenaufbau zu laden. Dazu muss zwar zuerst die Seite selbst gesendet werden, was die Lösung nicht ganz so schnell macht wie Server Push oder Early Hints. Sie hat aber den zusätzlichen Vorteil, dass die kritische Seitenressource nicht verzögert wird, was bei beiden anderen Lösungen passieren kann.
Fazit
Im Web müssen Dinge ausprobiert und verworfen werden können, wenn sie nicht verwendet werden. Das Potenzial von Push-Mitteilungen klang zwar gut, in der Praxis war die Nutzung jedoch problematischer als gedacht. Wir haben jedoch viel von Push gelernt, was in das Design von 103 Early Hints eingeflossen ist. Jetzt ist es an der Zeit, den Fortschritt abzuschließen und den Schritt von „Push“ zu beenden.
Ressourcen
- Alle Einstellungen und Entfernungen in Chromium
- ChromeStatus-Eintrag: HTTP/2-Push entfernen
- Geplante Entfernung: HTTP/2 and gQUIC server push
- Chromium-Problem: HTTP/2-Push standardmäßig deaktivieren