CORS erklärt

Vollständiger Leitfaden zu Cross-Origin Resource Sharing — wie es funktioniert, jeder Header erklärt und häufige Fehler mit Lösungen.

Überblick

Was ist CORS?

Cross-Origin Resource Sharing (CORS) ist ein auf HTTP-Headern basierender Mechanismus, der es einem Server ermoeglicht, beliebige Urspruenge (Domain, Schema oder Port) ausser seinem eigenen anzugeben, von denen ein Browser das Laden von Ressourcen erlauben soll. Browser erzwingen standardmaessig die Same-Origin-Policy, die Webseiten daran hindert, Anfragen an einen anderen Ursprung als den zu stellen, der die Seite bereitgestellt hat.

Die Same-Origin-Policy

Zwei URLs haben denselben Ursprung, wenn sie dasselbe Schema (http/https), denselben Host und denselben Port teilen. Zum Beispiel sind https://app.example.com und https://api.example.com unterschiedliche Urspruenge, da sich der Host unterscheidet. Die Same-Origin-Policy verhindert, dass eine boesartige Webseite sensible Daten von einer anderen Webseite liest -- CORS ist der Mechanismus, der diese Einschraenkung kontrolliert lockert.

Einfache Anfragen vs. Preflight

Eine "einfache Anfrage" verwendet GET, HEAD oder POST mit nur CORS-sicheren Headern und loest keinen Preflight aus. Alle anderen Cross-Origin-Anfragen -- solche, die Methoden wie PUT oder DELETE verwenden oder Header wie Authorization enthalten -- loesen einen Preflight aus: Der Browser sendet zuerst eine OPTIONS-Anfrage, um den Server um Erlaubnis zu bitten, bevor die eigentliche Anfrage gesendet wird.

Wie CORS funktioniert

Einfache Anfrage

Browser
GET /api/data
Origin: https://app.example.com
Server
200 OK
Access-Control-Allow-Origin: *
Antwort für JS freigegeben

Preflight-Anfrage

Browser
OPTIONS /api/data
Access-Control-Request-Method: DELETE
Server
204 No Content
Access-Control-Allow-Methods: DELETE
Browser
DELETE /api/data
Origin: https://app.example.com
Antwort für JS freigegeben

CORS-Header

10 von 10 angezeigt

Häufige Fehler

8 von 8 angezeigt

Verwandte Leitfäden

In RequestDock ausprobieren

Echte HTTP-Anfragen senden und Antworten inspizieren — direkt im Browser.