Zum Inhalt springen
uencoder

CORS

CORS (Cross-Origin Resource Sharing) ist ein Browsersicherheitsmechanismus, der über HTTP-Header steuert, ob eine Seite auf Ressourcen einer anderen Herkunft zugreifen darf, und Cross-Site-Lesezugriffe verhindert.

Zweck

Lockert die Same-Origin-Policy, um legitime Cross-Origin-API-Aufrufe zu erlauben, während bösartige Seiten Cross-Origin-Antworten nicht lesen können.

Mechanismus

Der Browser fügt Cross-Origin-Requests einen Origin-Header hinzu. Einfache Requests werden direkt gesendet; Requests mit Preflight durchlaufen eine OPTIONS-Prüfung der vom Server erlaubten Methoden und Header. Der Server autorisiert den Zugriff durch Header wie Access-Control-Allow-Origin. Requests mit Credentials erfordern zusätzlich Allow-Credentials.

Anwendungsfälle

  • Cross-Origin-API-Aufrufe
  • CDN-Fonts und -Bilder
  • Frontend-Aggregation über Microservices
  • Integration von Drittanbieter-SDKs

Beispiele

  • Eingabe
    Origin: https://a.com → https://b.com
    Output
    b.com returns the ACAO header to authorize

    Preflight followed by the actual request

Häufige Fehler

The browser blocks the response when the server returns no CORS headers
Configure the Access-Control-Allow-* headers

Verwandte Begriffe

References