HTTP Access-Control-Allow-Origin Header

Der HTTP-Header Access-Control-Allow-Origin ist ein Response-Header, der festlegt, welche Origins auf eine Ressource zugreifen dürfen. Er ist der wichtigste Header im CORS-Mechanismus und verhindert unerlaubte Cross-Domain-Zugriffe von Webanwendungen.

Typ

Response-Header

Syntax

Der Header gibt entweder eine spezifische Origin oder einen Wildcard-Wert an.

http
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Origin: *

Direktiven

Die Direktiven legen fest, welche Origins die Ressource abrufen dürfen.

<origin>
Eine spezifische Origin in der Form scheme://host:port. Nur diese Origin darf auf die Ressource zugreifen.
*
Wildcard, erlaubt Zugriff von jeder Origin. Nicht kombinierbar mit Access-Control-Allow-Credentials: true.

Beispiele

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

Beispiel 1 Spezifische Origin erlauben

http
Access-Control-Allow-Origin: https://app.example.com

API erlaubt nur Requests von der Origin https://app.example.com. Alle anderen Origins werden durch Browser blockiert.

Beispiel 2 Oeffentliche API ohne Credentials

http
Access-Control-Allow-Origin: *

Öffentliche API erlaubt Zugriff von beliebigen Origins. Keine Credentials (Cookies, Authorization-Header) möglich.

Beispiel 3 Dynamische Origin-Validierung

http
Access-Control-Allow-Origin: https://partner.example.com
Vary: Origin

Server validiert Origin dynamisch und antwortet mit der erlaubten Origin. Vary: Origin verhindert falsche Cache-Treffer.

CORS Preflight Flow

CORS Preflight und Access-Control-Allow-Origin Validierung

Vorteile für die Systemarchitektur

  • Kontrollierte API-Freigabe: Präzise Steuerung welche Frontend-Anwendungen API-Zugriff erhalten
  • Mehrschichtige Sicherheit: Ergänzt Backend-Authentifizierung durch Browser-seitige Origin-Prüfung
  • Flexible Deployment-Modelle: Ermöglicht API und Frontend auf verschiedenen Domains zu hosten

Spezifikation

Fetch Standard – Cross-Origin Resource Sharing https://fetch.spec.whatwg.org/#http-access-control-allow-origin

Weitere Spezifikationen

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