Cross-Origin-Embedder-Policy-Report-Only (COEP) header
Der HTTP Cross-Origin-Embedder-Policy-Report-Only (COEP) Antwort-Header konfiguriert die report-only-Richtlinie des aktuellen Dokuments für das Laden und Einbetten von Cross-Origin-Ressourcen, die im no-cors-Modus angefordert werden.
Der Header ermöglicht es Webseitenadministratoren, über Ressourcen zu berichten, die durch Cross-Origin-Embedder-Policy blockiert würden, ohne zu verhindern, dass sie geladen werden. Dies ermöglicht eine sanftere Einführung der Durchsetzung.
Verstöße gegen die Richtlinie können über die Reporting-API gemeldet werden. Berichte können auf der Seite, für die die Richtlinie festgelegt wird, mithilfe eines ReportingObserver beobachtet und an Serverendpunkte gesendet werden, die in einem Reporting-Endpoints HTTP-Antwort-Header definiert sind und mit dem report-to-Parameter ausgewählt werden. Weitere Informationen finden Sie unter COEPViolationReport.
| Header-Typ | Antwort-Header |
|---|
Syntax
Cross-Origin-Embedder-Policy-Report-Only: <token>; <parameter>
Direktiven
Der Header sollte nur mit einem Token und einem report-to-Endpunkt gesetzt werden.
Das mehrfache Setzen des Headers oder mit mehreren Tokens ist gleichbedeutend mit dem Setzen von unsafe-none. Das Weglassen von report-to macht den Header funktional inaktiv.
Der <token>-Wert kann sein:
unsafe-none-
Ermöglicht es dem Dokument, Cross-Origin-Ressourcen zu laden, die im
no-cors-Modus angefordert werden, ohne explizite Erlaubnis durch denCross-Origin-Resource-Policy-Header zu geben. Dies ist der Standardwert. require-corp-
Ein Dokument kann nur Ressourcen laden, die im
no-cors-Modus von derselben Herkunft angefordert wurden, oder Ressourcen, die denCross-Origin-Resource-Policy-Header explizit auf einen Wert gesetzt haben, der das Einbetten erlaubt.Das Laden von Cross-Origin-Ressourcen wird durch COEP blockiert, es sei denn:
- Die Ressource wird im
no-cors-Modus angefordert und die Antwort enthält einenCross-Origin-Resource-Policy-Header, der erlaubt, dass sie in die Dokumentherkunft geladen wird. - Die Ressource wird im
cors-Modus angefordert; zum Beispiel in HTML mit demcrossorigin-Attribut oder in JavaScript durch eine Anforderung mit{mode="cors"}. Beachten Sie, dass Anfragen imcors-Modus nicht von COEP blockiert oder COEP-Verstöße auslösen werden, aber immer noch von CORS erlaubt sein müssen.
- Die Ressource wird im
credentialless-
Ein Dokument kann Cross-Origin-Ressourcen laden, die im
no-cors-Modus angefordert werden, ohne eine explizite Erlaubnis über denCross-Origin-Resource-Policy-Header. In diesem Fall werden Anfragen ohne Anmeldeinformationen gesendet: Cookies werden in der Anfrage weggelassen und in der Antwort ignoriert.Das Cross-Origin-Ladeverhalten für andere Anforderungsmodi ist dasselbe wie für
require-corp. Zum Beispiel muss eine imcors-Modus angeforderte Cross-Origin-Ressource CORS unterstützen (und von CORS erlaubt werden).
Der <parameter> ist optional und kann sein:
report-to <endpoint_name>Optional-
Der
<endpoint_name>ist der Name des Endpunkts, an den Richtlinienverstöße gesendet werden. Die Zuordnung zwischen dem Namen und einem bestimmten Endpunkt wird separat imReporting-Endpoints-HTTP-Header definiert.
Spezifikationen
| Specification |
|---|
| HTML> # coep> |
Browser-Kompatibilität
Siehe auch
Cross-Origin-Embedder-PolicyCross-Origin-Opener-PolicyWindow.crossOriginIsolatedundWorkerGlobalScope.crossOriginIsolatedReportingObserverCOEPViolationReport- Reporting-API
- Cross Origin Opener Policy in Why you need "cross-origin isolated" for powerful features auf web.dev (2020)
- COOP und COEP erklärt: Artur Janc, Charlie Reis, Anne van Kesteren (2020)