[go: up one dir, main page]

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Access-Control-Allow-Headers 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⁩.

* 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 tatsächlichen Anfrage verwendet werden können. Dieser Header ist erforderlich, wenn die Preflight-Anfrage Access-Control-Request-Headers enthält.

Hinweis: Die CORS-sicheren Anforderungs-Header sind immer erlaubt und werden normalerweise nicht in Access-Control-Allow-Headers aufgeführt, es sei denn, es besteht die Notwendigkeit, die zusätzlichen Sicherheitsbeschränkungen zu umgehen.

Header-Typ Antwort-Header

Syntax

http
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 Anforderungs-Headers. Der Header kann eine beliebige Anzahl von Headers auflisten, getrennt durch Kommas.

* (Wildcard)

Jeder Header. Der Wert * zählt nur als spezieller Platzhalterwert für Anfragen ohne Anmeldeinformationen (Anfragen ohne HTTP-Cookies oder HTTP-Authentifizierungsinformationen). Bei Anfragen mit Anmeldeinformationen wird es als der wörtliche Header-Name * ohne spezielle Semantik behandelt. Der Authorization-Header akzeptiert keinen Wildcard und muss immer explizit aufgeführt werden.

Beispiele

Implementierung eines benutzerdefinierten Headers

Unten ist ein Beispiel für einen Access-Control-Allow-Headers-Header. Er zeigt an, dass ein benutzerdefinierter Header mit dem Namen X-Custom-Header von CORS-Anfragen an den Server unterstützt wird, zusätzlich zu den CORS-sicheren Anforderungs-Header.

http
Access-Control-Allow-Headers: X-Custom-Header

Unterstützung mehrerer Header

Dieses Beispiel zeigt Access-Control-Allow-Headers, wenn es Unterstützung für mehrere Header angibt.

http
Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests

Umgehen zusätzlicher Einschränkungen bei CORS-sicheren Headern

Obwohl CORS-sichere Anforderungs-Header immer erlaubt sind und normalerweise nicht in Access-Control-Allow-Headers aufgeführt werden müssen, wird durch deren Auflistung dennoch die zusätzlichen Einschränkungen umgangen, die gelten.

http
Access-Control-Allow-Headers: Accept

Verarbeitung von Preflight-Anfragen

Schauen wir uns ein Beispiel für eine Preflight-Anfrage an, die Access-Control-Allow-Headers beinhaltet.

Anfrage

Zuerst ist die Preflight-Anfrage eine OPTIONS-Anfrage, die eine Kombination der drei Preflight-Header umfasst: Access-Control-Request-Method, Access-Control-Request-Headers und Origin.

Die nachstehende Preflight-Anfrage teilt dem Server mit, dass wir eine CORS-GET-Anfrage mit den in Access-Control-Request-Headers aufgeführten Headern (Content-Type und X-Requested-With) senden möchten.

http
OPTIONS /resource/foo
Access-Control-Request-Method: GET
Access-Control-Request-Headers: content-type,x-requested-with
Origin: https://www.example.com

Antwort

Wenn die durch die Preflight-Anfrage angegebene CORS-Anfrage autorisiert ist, wird der Server auf die Preflight-Anfrage mit einer Nachricht antworten, die den erlaubten Ursprung, die Methoden und die Header anzeigt. Unten sehen wir, dass Access-Control-Allow-Headers die angeforderten Header enthält.

http
HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://www.example.com
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

Siehe auch