CORS-Header Beispiele: Preflight und Credentials
Cross-Origin Resource Sharing (CORS) legt fest, welche fremden Ursprünge im Browser auf eine Ressource zugreifen dürfen. Die Beispiele zeigen Antwort-Header für einen Ursprung, eine Preflight-Anfrage mit OPTIONS samt 204-Antwort, CORS mit Cookies und den Wildcard-Fall. Die Ursprünge liegen auf der reservierten Domain example.com.
6 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 4× Reservierter Bereich.
CORS-Antwort für einen UrsprungReservierter Bereich
Access-Control-Allow-Origin: https://example.com Vary: Origin
Konkreter Ursprung statt *; Vary: Origin, damit Caches nicht vermischen.
CORS-Preflight-Antwort (204)Reservierter Bereich
HTTP/1.1 204 No Content Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Methods: GET, POST, PUT, DELETE …
Antwort auf OPTIONS; Max-Age gibt in Sekunden an, wie lange der Browser sie zwischenspeichern darf.
CORS-Preflight-Anfrage (OPTIONS)Reservierter Bereich
OPTIONS /api/rechnungen HTTP/1.1 Host: example.com Origin: https://example.org …
Browser sendet sie vor nicht-einfachen Anfragen. Hosts reserviert.
CORS mit Cookies (Allow-Credentials)Reservierter Bereich
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Credentials: true Vary: Origin
Mit Credentials ist * als Origin verboten; es muss ein konkreter Ursprung stehen.
CORS: Access-Control-Expose-Headers
Access-Control-Expose-Headers: X-Total-Count, Link
Macht diese Antwortheader für JavaScript lesbar.
CORS mit Wildcard (nur für öffentliche Daten)
Access-Control-Allow-Origin: *
Erlaubt jeden Ursprung; mit Cookies nicht kombinierbar.