Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden Enterprise-Überlegungen für die zstd-basierte Shared Dictionary Compression for HTTP -Funktion (ZSDCH) vorgestellt.
Die Infrastrukturüberlegungen gelten größtenteils auch für das Feature Compression Dictionary Transport, das vom projekt Chromium implementiert wurde. Das Feature "Komprimierter Wörterbuchtransport" ist für Websites über den Ursprungstestmechanismus in Microsoft Edge 119 und höher verfügbar.
Was ist ZSDCH?
ZSDCH ist ein experimentelles Feature in Microsoft Edge, mit dem der Browser ein freigegebenes Wörterbuch zum Dekomprimieren von Antworten verwenden kann, die über HTTPS bereitgestellt werden. Wenn Benutzer eine Website (z. B. bing.com) mit dem Feature besuchen, profitieren sie von einer verbesserten Leistung durch reduzierte Bandbreitenanforderungen, damit der Server die Seite zurück an den Benutzer senden kann.
Das Feature "Komprimierungswörterbuchtransport" zielt auf dieselben Szenarien ab und funktioniert auf ähnliche Weise.
Wie funktioniert ZSDCH?
ZSDCH funktioniert, indem der Browser im Anforderungsheader "Accept-Encoding" den neuen Wert "zsdch" sendet, um dem Server anzugeben, dass der Browser die ZSDCH-Komprimierung unterstützt.
Wenn der Server ZSDCH für zukünftige Antworten verwenden möchte, stellt er die typische Antwort mit einer Nicht-ZSDCH-Inhaltscodierung, aber mit einem zusätzlichen "get-dictionary"-Antwortheader bereit. Dieser Header stellt einen Zeiger auf einen Speicherort bereit, an dem der Browser ein ZSDCH-Wörterbuch zur zukünftigen Verwendung abrufen kann.
Nachdem der Browser das Wörterbuch abgerufen und zwischengespeichert hat, enthalten zukünftige Anforderungen an den Server eine Liste der verfügbaren Wörterbücher in einem "avail-dictionary"-Header. Wenn der Server eine Antwort bereitstellen kann, die mit einem der verfügbaren Wörterbücher komprimiert wurde, stellt er eine Antwort mithilfe des Wörterbuchs bereit und gibt eine "Content-Encoding" von "zsdch" an.
Wie funktioniert das Komprimierungswörterbuch-Transportfeature?
Wenn während der Anforderungszeit ein Wörterbuch für den Komprimierungswörterbuchtransport auf dem Client verfügbar ist, kündigt der Komprimierungswörterbuchtransport zusätzliche Anforderungsheaderwerte "Accept-Encoding" ("sbr" und/oder "zstd-d") zusammen mit einem Anforderungsheader "Sec-Available-Dictionary" an.
Mit welchen Websites werden diese Features getestet?
Um Leistungssteigerungen und Kompatibilität mit verschiedenen Netzwerktopologien zu überprüfen, kündigt Edge ZSDCH-Unterstützung an, wenn Inhalte von bing.com, bing.cn und msn.com angefordert werden. Edge unterstützt auch lokale Tests, indem es an Server mit dem Hostnamen "localhost" angibt.
Das Komprimierungswörterbuchtransport-Feature wird von verschiedenen Websites getestet, einschließlich von Nicht-Microsoft-Websites, die den Ursprungstestmechanismus verwenden.
Potenzielle Interaktionen mit Netzwerk-Middleboxes
Einige Unternehmen verwenden Netzwerkmiddboxen, die Zwischenspeicherungs- und/oder Überprüfungsfunktionen für Netzwerkdatenverkehr bieten. Manchmal besteht für diese Produkte die Anforderung, dass sie die Antwort analysieren können; Andernfalls kann die Antwort so geändert oder blockiert werden, dass die Seite unterbrochen wird.
Middleboxes, die erfordern, dass content-encoding eine Codierung ist, die sie versteht, müssen sicherstellen, dass sie den Accept-Encoding Headerwert von Anforderungen ändern, um nicht unterstützte Codierungen zu entfernen. Andernfalls kann der Webserver eine Antwort anbieten, die die Middlebox nicht decodieren kann.
Für Zwischenspeicherebenen, die die Antwort nicht überprüfen müssen, müssen sie auch den Header "Vary" ordnungsgemäß unterstützen, um sicherzustellen, dass eine Serverantwort, die die Headernamen "avail-dictionary" und/oder "sec-available-dictionary" im Wert "Vary" enthält, ordnungsgemäß behandelt wird und komprimierte Antworten nicht an Clients zurückgegeben werden, die nicht über das entsprechende Wörterbuch verfügen.
Diese Methoden sind generisch und würden auch für alle neuen, zukünftigen Inhaltscodierungen gelten, die von Browsern unterstützt werden.
Ein Proxy oder eine Middlebox kann die Komprimierung einer TLS-Verbindung nur beeinträchtigen, wenn tls-Datenverkehr mithilfe eines privaten Abfangzertifikats entschlüsselt wird.
Um das Risiko für Unternehmensumgebungen zu minimieren, die nicht den oben genannten bewährten Methoden folgen, deaktiviert Edge das ZDSCH-Feature, wenn eine solche Entschlüsselungs-Mittelbox erkannt wird.
Für das Komprimierungswörterbuchtransport-Feature wird eine explizite Unternehmensrichtlinie (CompressionDictionaryTransportEnabled) bereitgestellt. Betroffene Unternehmen können die Richtlinie verwenden, um das Feature zu deaktivieren, während sie mit Anbietern zusammenarbeiten, um ihre Produkte so zu aktualisieren, dass neue, unbekannte Inhaltscodierungen ordnungsgemäß verarbeitet werden.
Überprüfen, ob ZSDCH ein Problem in Ihrer Umgebung verursacht
Wenn Sie der Meinung sind, dass ZSDCH ein unerwünschtes Problem in Ihrer Umgebung verursacht, können Sie ZSDCH in Edge mithilfe der folgenden Schritte deaktivieren:
- Öffnen Sie
edge://flags
. - Suchen Sie nach "#edge-enable-zsdch-content-encoding".
- Legen Sie den Wert für das Feature auf "Deaktiviert" fest.
- Starten Sie Edge neu, damit die Änderung wirksam wird.
- Führen Sie das Szenario aus, in dem ein Problem aufgetreten ist, um zu ermitteln, ob es weiterhin auftritt oder behoben wurde.