Access-Control-Allow-Origin

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der HTTP Access-Control-Allow-Origin Antwortheader gibt an, ob die Antwort mit dem anfragenden Code von dem angegebenen Ursprung geteilt werden kann.

Header-Typ Antwortheader
Verbotener Anforderungsheader Nein

Syntax

http
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null

Direktiven

* (Wildcard)

Der anfragende Code von jedem Ursprung darf auf die Ressource zugreifen. Für Anfragen ohne Anmeldeinformationen kann der wörtliche Wert * als Wildcard angegeben werden. Der Versuch, das Wildcard mit Anmeldeinformationen 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, der die Anfrage stellt, zurückgeben.

null

Gibt den Ursprung "null" an.

Hinweis: Der Wert null sollte 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 (wie data: oder file:) und von sandboxed Dokumenten, als null serialisiert. Viele Browser gewähren solchen Dokumenten Zugriff auf eine Antwort mit einem Access-Control-Allow-Origin: null Header, und jeder Ursprung kann ein schädliches Dokument mit einem null Ursprung erstellen. Daher sollte der null Wert für den Access-Control-Allow-Origin Header vermieden werden.

Beispiele

Eine Antwort, die dem Browser mitteilt, dass Code von jedem Ursprung auf eine Ressource zugreifen darf, wird Folgendes beinhalten:

http
Access-Control-Allow-Origin: *

Eine Antwort, die dem Browser mitteilt, dass anfragender Code vom Ursprung https://developer.mozilla.org auf eine Ressource zugreifen darf, wird Folgendes beinhalten:

http
Access-Control-Allow-Origin: https://developer.mozilla.org

Um die möglichen Access-Control-Allow-Origin Werte auf eine Reihe erlaubter Ursprünge zu beschränken, ist Code auf der Serverseite erforderlich, um den Wert des Origin Anforderungsheaders zu überprüfen, diesen mit einer Liste erlaubter Ursprünge zu vergleichen und, 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 (statt des * Wildcards). In diesem Fall sollte die Antwort auch einen Vary Antwortheader mit dem Wert Origin enthalten, um den Browsern anzuzeigen, dass Serverantworten je nach Wert des Origin Anforderungsheaders unterschiedlich sein können.

http
Access-Control-Allow-Origin: https://developer.mozilla.org
Vary: Origin

Spezifikationen

Specification
Fetch
# http-access-control-allow-origin

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch