Origin-Agent-Cluster
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Der HTTP Origin-Agent-Cluster
Antwortheader wird verwendet, um zu verlangen, dass das zugehörige Document
in einem herkunftsschlüsselten Agent-Cluster platziert wird. Das bedeutet, dass Betriebssystemressourcen (zum Beispiel der Betriebssystemprozess), die zur Auswertung des Dokuments verwendet werden, nur mit anderen Dokumenten derselben Herkunft geteilt werden sollten.
Der Effekt ist, dass ein ressourcenintensives Dokument die Leistung von Dokumenten anderer Herkunft weniger wahrscheinlich verschlechtert.
Header-Typ | Antwortheader |
---|---|
Verbotener Header-Name | Nein |
Syntax
Origin-Agent-Cluster: <boolean>
Direktiven
Beschreibung
Moderne Webbrowser haben eine Mehrprozessarchitektur, in der Seiten von verschiedenen Herkünften in unterschiedlichen Betriebssystemprozessen ausgeführt werden können. Das ist wichtig für die Leistung, weil es bedeutet, dass eine ressourcenintensive Seite nicht so stark auf andere Seiten einwirkt, die der Benutzer geöffnet hat.
Browser können jedoch im Allgemeinen keine gleichseitigen, herkunftsübergreifenden Seiten in verschiedenen Prozessen ausführen, aufgrund bestimmter DOM-APIs, die von gleichseitiger, herkunftsübergreifender Kommunikation abhängen. Zum Beispiel werden Seiten von den folgenden zwei Herkünften standardmäßig die gleichen Betriebssystemressourcen teilen:
https://apples.example.org https://oranges.example.org
Durch das Setzen des Origin-Agent-Cluster
Headers kann eine Seite verlangen, dass der Browser dieser Herkunft dedizierte Ressourcen zuweist, die mit keiner anderen Herkunft geteilt werden.
Der Browser ist nicht verpflichtet, der Anfrage nachzukommen. Wenn er es tut, gibt die Window.originAgentCluster
Eigenschaft true
zurück, und das Fenster kann die folgenden Aktionen, die alle auf gleichseitige, herkunftsübergreifende Kommunikation angewiesen sind, nicht ausführen:
- Verwendung von
Document.domain
. - Senden von
WebAssembly.Module
Objekten an andere gleichseitige herkunftsübergreifende Seiten mittelspostMessage()
. - Senden von
SharedArrayBuffer
oderWebAssembly.Memory
Objekten an andere gleichseitige herkunftsübergreifende Seiten.
Herkunftsschlüsselte Agent-Cluster sollten nicht als Sicherheitsfunktion betrachtet werden: Browser können die Anfrage aus verschiedenen Gründen ignorieren oder wählen, sie auf eine Weise zu implementieren, die keinen Speicherschutz bietet (zum Beispiel durch Verwendung von separaten Threads anstelle von separaten Prozessen). Stattdessen ist dieses Feature ein Hinweis darauf, dass das Benutzererlebnis verbessert würde, wenn dieser Herkunft dedizierte Ressourcen zugewiesen würden.
Nehmen Sie beispielsweise an, Ihre Seite enthält eine Seite von einer Herkunft, die ein gleichseitiges, herkunftsübergreifendes iframe einbettet, welches ein ressourcenintensives Spiel ausführt. Durch das Setzen von Origin-Agent-Cluster
auf dem Dokument im iframe können Sie verhindern, dass das Spiel die Leistung der Hauptseite beeinträchtigt.
Der Browser stellt sicher, dass alle Seiten von einer gegebenen Herkunft entweder herkunftsbezogen sind oder nicht. Das bedeutet:
- Wenn die erste Seite von einer Herkunft den Header nicht setzt, dann werden keine anderen Seiten von dieser Herkunft herkunftsbezogen sein, auch wenn diese anderen Seiten den Header setzen.
- Wenn die erste Seite von einer Herkunft den Header setzt und herkunftsbezogen ist, dann werden alle anderen Seiten von dieser Herkunft herkunftsbezogen sein, unabhängig davon, ob sie es verlangen oder nicht.
Um solch eine unvorhersehbare Situation zu vermeiden, sollten Sie diesen Header für alle Seiten von einer gegebenen Herkunft setzen oder für keine davon.
Beispiele
Origin-Agent-Cluster: ?1
Spezifikationen
Specification |
---|
HTML # origin-agent-cluster |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Origin-Agent-Cluster |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.