Access-Control-Allow-Headers
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.
* Some parts of this feature may have varying levels of support.
Der HTTP Access-Control-Allow-Headers
Antwort-Header wird als Antwort auf eine Preflight-Anfrage verwendet, um die HTTP-Header anzugeben, die während der eigentlichen Anfrage verwendet werden können. Dieser Header ist erforderlich, wenn die Preflight-Anfrage Access-Control-Request-Headers
enthält.
Hinweis:
Die CORS-sicheren Anforderungsheader sind immer erlaubt und werden normalerweise nicht in Access-Control-Allow-Headers
aufgelistet, es sei denn, es besteht die Notwendigkeit, die zusätzlichen Sicherheitslisteneinschränkungen zu umgehen.
Header-Typ | Antwort-Header |
---|---|
Verbotener Anforderungsheader | Nein |
Syntax
Access-Control-Allow-Headers: <header-name>
Access-Control-Allow-Headers: <header-name>, <header-name>
Access-Control-Allow-Headers: *
Direktiven
<header-name>
-
Der Name eines unterstützten Anforderungsheaders. Der Header kann eine beliebige Anzahl von Headers enthalten, die durch Kommas getrennt sind.
*
(Wildcard)-
Beliebiger Header. Der Wert
*
zählt nur als spezieller Wildcard-Wert für Anfragen ohne Berechtigungsnachweise (Anfragen ohne HTTP-Cookies oder HTTP-Authentifizierungsinformationen). Bei Anfragen mit Berechtigungsnachweisen wird es als der literal Header-Name*
ohne spezielle Semantik behandelt. DerAuthorization
-Header kann nicht wildcarded werden und muss immer explizit aufgelistet werden.
Beispiele
Implementierung eines benutzerdefinierten Headers
Unten ist ein Beispiel für einen Access-Control-Allow-Headers
-Header. Es zeigt an, dass ein benutzerdefinierter Header namens X-Custom-Header
von CORS-Anfragen an den Server unterstützt wird, zusätzlich zu den CORS-sicheren Anforderungsheadern.
Access-Control-Allow-Headers: X-Custom-Header
Unterstützung mehrerer Header
Dieses Beispiel zeigt Access-Control-Allow-Headers
wenn es die Unterstützung für mehrere Header angibt.
Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests
Umgehung zusätzlicher Einschränkungen bei CORS-sicheren Headers
Obwohl CORS-sichere Anforderungsheader immer erlaubt sind und normalerweise nicht in Access-Control-Allow-Headers
aufgelistet werden müssen, führt das Auflisten dennoch zur Umgehung der zusätzlichen Einschränkungen, die gelten.
Access-Control-Allow-Headers: Accept
Umgang mit Preflight-Anfragen
Betrachten wir ein Beispiel für eine Preflight-Anfrage, die Access-Control-Allow-Headers
einbezieht.
Anfrage
Zuerst ist die Preflight-Anfrage eine OPTIONS
-Anfrage, die eine Kombination der drei Preflight-Anfrage-Header enthält: Access-Control-Request-Method
, Access-Control-Request-Headers
und Origin
.
Die folgende Preflight-Anfrage teilt dem Server mit, dass wir eine CORS GET
-Anfrage mit den in Access-Control-Request-Headers
aufgelisteten Headern (Content-Type
und X-Requested-With
) senden möchten.
OPTIONS /resource/foo
Access-Control-Request-Method: GET
Access-Control-Request-Headers: content-type,x-requested-with
Origin: https://foo.bar.org
Antwort
Wenn die von der Preflight-Anfrage angezeigte CORS-Anfrage autorisiert ist, antwortet der Server auf die Preflight-Anfrage mit einer Nachricht, die den erlaubten Ursprung, die Methoden und die Header anzeigt. Unten sehen wir, dass Access-Control-Allow-Headers
die angeforderten Header enthält.
HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: Content-Type, x-requested-with
Access-Control-Max-Age: 86400
Wenn die angeforderte Methode nicht unterstützt wird, antwortet der Server mit einem Fehler.
Spezifikationen
Specification |
---|
Fetch # http-access-control-allow-headers |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Access-Control-Allow-Headers | ||||||||||||
Authorization header is not covered by wildcard | ||||||||||||
Wildcard ( * ) |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.