Access-Control-Allow-Origin header
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Der HTTP Access-Control-Allow-Origin Antwort-Header gibt an, ob die Antwort mit anfragendem Code von dem angegebenen Ursprung geteilt werden kann.
| Header-Typ | Antwort-Header |
|---|
Syntax
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
Direktiven
*(Platzhalter)-
Der anfragende Code von jedem Ursprung darf auf die Ressource zugreifen. Für Anfragen ohne Anmeldedaten kann der literale Wert
*als Platzhalter angegeben werden. Der Versuch, den Platzhalter mit Anmeldedaten zu verwenden, führt zu einem Fehler. <origin>-
Gibt einen einzelnen Ursprung an. Wenn der Server Clients von mehreren Ursprüngen unterstützt, muss er den Ursprung für den spezifischen Client zurückgeben, der die Anfrage stellt.
null-
Gibt den Ursprung "null" an.
Hinweis: Der Wert
nullsollte nicht verwendet werden. Es mag sicher erscheinen,Access-Control-Allow-Origin: "null"zurückzugeben; jedoch wird der Ursprung von Ressourcen, die ein nicht-hierarchisches Schema verwenden (wiedata:oderfile:), sowie sandboxed Dokumente alsnullserialisiert. Viele Browser gewähren solchen Dokumenten Zugriff auf eine Antwort mit einemAccess-Control-Allow-Origin: nullHeader, und jeder Ursprung kann ein feindliches Dokument mit einemnullUrsprung erstellen. Daher sollte dernullWert für denAccess-Control-Allow-OriginHeader vermieden werden.
Beispiele
Eine Antwort, die dem Browser mitteilt, dass Code von jedem Ursprung auf eine Ressource zugreifen darf, wird folgendes beinhalten:
Access-Control-Allow-Origin: *
Eine Antwort, die dem Browser mitteilt, dass der anfragende Code vom Ursprung https://developer.mozilla.org auf eine Ressource zugreifen darf, wird folgendes beinhalten:
Access-Control-Allow-Origin: https://developer.mozilla.org
Das Beschränken der möglichen Access-Control-Allow-Origin Werte auf eine Menge zulässiger Ursprünge erfordert Code auf der Serverseite, um den Wert des Origin Anfrage-Headers zu überprüfen, mit einer Liste zulässiger Ursprünge zu vergleichen, und dann, wenn der Origin Wert in der Liste ist, den Access-Control-Allow-Origin Wert auf denselben Wert wie der Origin Wert zu setzen.
CORS und Caching
Angenommen, der Server sendet eine Antwort mit einem Access-Control-Allow-Origin Wert mit einem expliziten Ursprung (anstatt des * Platzhalters). In diesem Fall sollte die Antwort auch einen Vary Antwort-Header mit dem Wert Origin enthalten — um Browser darauf hinzuweisen, dass Serverantworten je nach Wert des Origin Anfrage-Headers unterschiedlich sein können.
Access-Control-Allow-Origin: https://developer.mozilla.org
Vary: Origin
Spezifikationen
| Specification |
|---|
| Fetch> # http-access-control-allow-origin> |