HTTP Access-Control-Allow-Headers Header

Der HTTP-Header Access-Control-Allow-Headers ist ein Response-Header in Preflight-Requests, der angibt, welche HTTP-Header der Client im tatsächlichen Cross-Origin-Request verwenden darf. Er ermöglicht die Nutzung von Custom Headers wie Authorization oder X-API-Key.

Typ

Response-Header

Syntax

Der Header listet die erlaubten Request-Header als kommaseparierte Liste auf.

http
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Headers: X-API-Key, X-Requested-With, Accept

Direktiven

Die Direktiven definieren, welche Header im Cross-Origin-Request gesendet werden dürfen.

<header-name>
Name eines erlaubten HTTP-Headers. Case-insensitive, mehrere Werte kommasepariert.
*
Wildcard für alle Header außer Authorization. Funktioniert nur wenn keine Credentials verwendet werden.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Access-Control-Allow-Headers-Header.

Beispiel 1 Standard REST API Headers

http
Access-Control-Allow-Headers: Authorization, Content-Type, Accept

API erlaubt die wichtigsten Headers für REST-Requests: Bearer-Token, Content-Typ und Accept-Header.

Beispiel 2 Custom API-Key Header

http
Access-Control-Allow-Headers: X-API-Key, X-Client-Version, Content-Type

API erlaubt proprietäre Custom Headers für API-Key-Authentifizierung und Client-Versionierung.

Beispiel 3 Wildcard ohne Credentials

http
Access-Control-Allow-Headers: *
Access-Control-Allow-Origin: *

Öffentliche API erlaubt alle Header außer Authorization. Keine Credentials möglich bei Wildcard.

CORS Preflight mit Custom Headers

CORS Preflight für Custom Header Validierung

Vorteile für die Systemarchitektur

  • Flexible Authentifizierung: Unterstützt verschiedene Auth-Mechanismen (Bearer, API-Key, Custom Headers)
  • API-Versionierung: Custom Headers ermöglichen Version-Negotiation ohne URL-Änderung
  • Erweiterte Metadaten: Clients können zusätzliche Kontext-Informationen übermitteln

Spezifikation

Fetch Standard – CORS Protocol and HTTP-Access-Control-Allow-Headers https://fetch.spec.whatwg.org/#http-access-control-allow-headers

Weitere Spezifikationen

Access-Control-Allow-Origin Header, Access-Control-Request-Headers Header, Access-Control-Allow-Methods Header