Mit Chrome 106 wird die Unterstützung für die Server-Push-Technologie eingestellt

Google hat gewarnt, dass die Unterstützung für die Server-Push-Technologie mit der für den 106. September geplanten Veröffentlichung von Chrome 27 deaktiviert wird. Die Änderungen wirken sich auch auf andere Browser aus, die auf der Chromium-Codebasis 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 dessen explizite Anfrage warten zu müssen. Es wird davon ausgegangen, dass der Server auf diese Weise das Laden der Seite beschleunigen kann, da die für die Darstellung der Seite erforderlichen CSS-Dateien, Skripte und Bilder bereits auf seine Seite übertragen wurden, wenn der Client sie anfordert.

Als Grund für die Einstellung des Supports wird die unnötige Komplexität der Implementierung der Technologie angeführt, wenn einfachere und ebenso wirksame Alternativen wie das Tag verfügbar sind , auf deren Grundlage der Browser eine Ressource anfordern kann, ohne darauf zu warten, dass sie auf der Seite verwendet wird. Einerseits führt Preload im Vergleich zu Server Push zu unnötigem Paketaustausch (RTT), andererseits wird jedoch das Senden von Ressourcen vermieden, die sich bereits im Browser-Cache befinden. Im Allgemeinen werden die Latenzunterschiede bei der Verwendung von Server Push und Preload als unbedeutend eingestuft.

Um das Vorladen auf der Serverseite zu initiieren, wird vorgeschlagen, den HTTP-Antwortcode 103 zu verwenden, der es Ihnen ermöglicht, den Client unmittelbar nach der Anfrage über den Inhalt einiger HTTP-Header zu informieren, ohne darauf warten zu müssen, dass der Server alle damit verbundenen Vorgänge abgeschlossen hat die Anfrage und beginnen Sie mit der Bereitstellung des Inhalts. Ebenso können Sie Hinweise zu Elementen bereitstellen, die sich auf die bereitgestellte Seite beziehen und möglicherweise vorinstalliert sind (z. B. können Sie Links zu den auf der Seite verwendeten CSS- und JavaScript-Codes bereitstellen). Sobald der Browser Informationen über solche Ressourcen erhalten hat, kann er mit dem Herunterladen beginnen, ohne darauf warten zu müssen, dass die Hauptseite vollständig gerendert wird, was die Gesamtverarbeitungszeit der Anfrage verkürzt.

Zusätzlich zur Optimierung der Ressourcenbelastung könnte der Server-Push-Mechanismus auch zum Streamen von Daten vom Server zum Client verwendet werden. Für diese Zwecke entwickelt das W3C-Konsortium jedoch das WebTransport-Protokoll. Der Kommunikationskanal in WebTransport ist auf HTTP/3 aufgebaut und nutzt das QUIC-Protokoll als Transportmittel. WebTransport bietet so erweiterte Funktionen wie die Organisation der Übertragung in mehrere Streams, unidirektionale Streams, Zustellung ohne Berücksichtigung der Reihenfolge, in der Pakete gesendet werden (außerhalb der Reihenfolge), zuverlässige und unzuverlässige Zustellungsmodi.

Laut Google-Statistiken ist die Server-Push-Technologie nicht weit verbreitet. Obwohl Server Push in der HTTP/3-Spezifikation enthalten ist, wird es in der Praxis von vielen Server- und Client-Softwareprodukten, einschließlich des Chrome-Browsers, nicht nativ implementiert. Im Jahr 2021 nutzten etwa 1.25 % der Websites, die HTTP/2 nutzen, Server Push. In diesem Jahr ist dieser Wert auf 0.7 % gesunken.

Source: opennet.ru

Kommentar hinzufügen