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.comOutputb.com returns the ACAO header to authorizePreflight 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