CORS

Cross-Origin Resource Sharing (CORS) ist ein Sicherheitsmechanismus von Browsern. Standardmäßig kann eine Webseite eine Anfrage an einen anderen Ursprung senden, die Antwort aber nicht lesen. CORS besteht aus den Antwort-Headern, mit denen der Zielserver dem Browser signalisiert, dass dieser Ursprung die Antwort einsehen darf.

So funktioniert es

Bei einfachen Anfragen sendet der Browser die Anfrage und hält die Antwort zurück, solange die Zugriffssteuerungs-Eigenschaft `Access-Control-Allow-Origin` nicht zutrifft. Bei allen anderen Anfragen – benutzerdefinierten Headern, JSON-Inhaltstypen oder Methoden jenseits von GET, POST und HEAD – sendet der Browser zunächst eine OPTIONS-Preflight-Anfrage und fährt nur fort, wenn die Antwort die gewünschte Methode und die entsprechenden Header zulässt. Anmeldeinformationen erfordern sowohl die Zugriffssteuerungs-Eigenschaft `Access-Control-Allow-Credentials` als auch eine spezifische Herkunft, jedoch niemals einen Platzhalter.

Das Missverständnis

Ein CORS-Fehler bedeutet, dass die Anfrage fehlgeschlagen ist. Normalerweise war sie erfolgreich – der Server hat sie empfangen, verarbeitet und geantwortet – und der Browser hat die Antwort nicht an Ihren Code weitergeleitet. Ein "CORS error" bei einer POST-Anfrage kann bedeuten, dass der Datensatz erstellt wurde, Sie die Bestätigung aber einfach nicht sehen können. Es handelt sich dabei auch nicht um einen serverseitigen Schutz: Alles, was kein Browser ist, ignoriert CORS vollständig.

Probieren Sie es hier aus

Führen Sie eine beliebige Anfrage im Live-API-Modus von Ihrer eigenen Seite aus und beobachten Sie die Vorabprüfung. Ein fehlender OPTIONS-Handler wird als CORS-Fehler in der Konsole und als einfacher 405-Fehler im Netzwerk-Tab angezeigt.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert