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 July 2015.
Der HTTP-Access-Control-Allow-Origin
-Antwort-Header gibt an, ob die Antwort mit angeforderter Software aus dem gegebenen Ursprung geteilt werden kann.
Header-Typ | Antwort-Header |
---|---|
Verbotener Anforderungsheader | Nein |
Syntax
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
Direktiven
*
(Wildcard)-
Die anfordernde Software aus jedem Ursprung darf auf die Ressource zugreifen. Für Anfragen ohne Anmeldedaten kann der wörtliche Wert
*
als Wildcard angegeben werden. Der Versuch, die Wildcard mit Anmeldedaten zu verwenden, führt zu einem Fehler. <origin>
-
Gibt einen einzelnen Ursprung an. Unterstützt der Server Clients aus mehreren Ursprüngen, muss er den Ursprung für den spezifischen Client zurückgeben, der die Anfrage stellt.
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 (wiedata:
oderfile:
), und von sandboxed-Dokumenten alsnull
serialisiert. Viele Browser gewähren solchen Dokumenten Zugriff auf eine Antwort mit einemAccess-Control-Allow-Origin: null
Header und jeder Ursprung kann ein feindliches Dokument mit einemnull
Ursprung erstellen. Daher sollte dernull
-Wert für denAccess-Control-Allow-Origin
-Header vermieden werden.
Beispiele
Eine Antwort, die dem Browser mitteilt, dass Software aus jedem Ursprung auf eine Ressource zugreifen darf, enthält Folgendes:
Access-Control-Allow-Origin: *
Eine Antwort, die dem Browser mitteilt, dass anfordernde Software aus dem Ursprung https://developer.mozilla.org
auf eine Ressource zugreifen darf, enthält Folgendes:
Access-Control-Allow-Origin: https://developer.mozilla.org
Um die möglichen Access-Control-Allow-Origin
-Werte auf eine Reihe von erlaubten Ursprüngen zu begrenzen, ist Code auf der Serverseite erforderlich, um den Wert des Origin
-Anforderungsheaders zu prüfen, diesen mit einer Liste erlaubter Ursprünge zu vergleichen, und dann, falls der Origin
-Wert in der Liste ist, den Wert von Access-Control-Allow-Origin
auf den gleichen Wert wie den Origin
-Wert zu setzen.
CORS und Caching
Angenommen, der Server sendet eine Antwort mit einem Access-Control-Allow-Origin
-Wert mit einem expliziten Ursprung (anstelle des *
Wildcards). In diesem Fall sollte die Antwort auch einen Vary
-Antwortheader mit dem Wert Origin
enthalten — um den Browsern anzuzeigen, dass Serverantworten sich basierend auf dem Wert des Origin
-Anforderungsheaders unterscheiden können.
Access-Control-Allow-Origin: https://developer.mozilla.org
Vary: Origin
Spezifikationen
Specification |
---|
Fetch # http-access-control-allow-origin |