Google hat vor der Abschaltung der Server Push-Technologie in der Version 106 von Chrome, die für den 27. September geplant ist, gewarnt. Diese Änderungen betreffen auch andere Browser, die auf dem Chromium-Code basieren. Die Server Push-Technologie ist in den Standards HTTP/2 und HTTP/3 definiert und ermöglicht es dem Server, Ressourcen an den Client zu senden, ohne auf eine ausdrückliche Anfrage zu warten. Dadurch kann der Server die Ladegeschwindigkeit der Seite erhöhen, da benötigte Dateien wie CSS, Skripte und Bilder bereits vor der Anfrage des Clients übertragen wurden.
Der Grund für die Einstellung der Unterstützung liegt in der übermäßigen Komplexität der Implementierung der Technologie, während es einfachere und ebenso effektive Alternativen wie das Tag gibt. Dieses ermöglicht es dem Browser, eine Ressource anzufordern, bevor sie auf der Seite verwendet wird. Auf der einen Seite führt preload im Vergleich zu Server Push zu einem zusätzlichen Austausch von Paketen (RTT), auf der anderen Seite kann es jedoch vermeiden, Ressourcen zu senden, die bereits im Browser-Cache vorhanden sind. Insgesamt sind die Unterschiede in den Verzögerungen zwischen Server Push und preload als unbedeutend zu betrachten.
Um die vorzeitige загрузка auf der Seite zu initiieren Server Es wird empfohlen, den HTTP-Statuscode 103 zu verwenden, der es ermöglicht, den Client sofort über den Inhalt bestimmter HTTP-Header nach der Anfrage zu informieren, ohne darauf zu warten, dass der Server alle mit der Anfrage verbundenen Operationen ausführt und mit der Bereitstellung des Inhalts beginnt. Auf diese Weise können Hinweise zu Elementen, die mit der zurückgegebenen Seite verbunden sind, bereitgestellt werden, die vorab geladen werden können (zum Beispiel können Verweise auf die auf der Seite verwendeten CSS- und JavaScript-Dateien bereitgestellt werden). Sobald der Browser Informationen zu solchen Ressourcen erhält, kann er mit deren Laden beginnen, ohne auf den Abschluss der Bereitstellung der Hauptseite zu warten, was die Gesamtverarbeitungszeit der Anfrage verkürzt.
Neben der Optimierung des Ressourcenladens ermöglicht der Mechanismus Server Push konnte auch für die Datenübertragung vom Server zum Client verwendet werden, jedoch entwickelt das W3C-Konsortium für diese Zwecke das WebTransport-Protokoll. Der Kommunikationskanal in WebTransport wird über HTTP/3 organisiert und nutzt QUIC als Transportprotokoll. WebTransport bietet erweiterte Funktionen wie die Organisation von Mehrfachströmen, unidirektionale Ströme, Paketlieferung ohne Berücksichtigung der Reihenfolge (out-of-order) sowie zuverlässige und nicht zuverlässige Liefermodi.
Laut Google hat die Server Push-Technologie nicht die erwartete Verbreitung gefunden. Obwohl Server Push in der HTTP/3-Spezifikation enthalten ist, haben viele serverseitige und clientseitige Produkte, einschließlich des Browsers Chrome, diese Funktion anfänglich nicht implementiert. Im Jahr 2021 nutzten etwa 1,25 % der Websites, die mit HTTP/2 betrieben wurden, Server Push. In diesem Jahr ist dieser Wert auf 0,7 % gesunken.
Quelle: opennet.ru
