100% Clientseitige Berechnung • Keine Server-Logs • Sofortige Ausführung
Curious TechieEntwickler-Toolbox
Web Security & CORS/CSPIntermediateVerifizierte Antwort

Warum senden Browser bei CORS eine OPTIONS-Preflight-Anfrage?

Direkte Antwort

Browser senden vor nicht-einfachen Anfragen (z. B. mit Authorization-Header oder Content-Type: application/json) einen OPTIONS-Preflight, um sicherzustellen, dass der Zielserver diese Methoden und Header autorisiert, bevor verändernde Daten übertragen werden.

Detailed Technical Explanation

Der Preflight-Mechanismus schützt Legacy-Server, die nie für Cross-Origin-Aufrufe ausgelegt waren. Erfüllt ein Request nicht die Kriterien einer "Simple Request", stoppt der Browser den Vorgang und sendet einen Vorab-Probeaufruf mit Access-Control-Request-* Headern.

Technical Example & Code

OPTIONS-Preflight-Handshake im Detail

Der Browser validiert die Server-Freigabe, bevor der eigentliche Request abgesetzt wird.

// 1. Browser sends Preflight Request:
OPTIONS /api/orders HTTP/1.1
Host: api.example.com
Origin: https://app.curious-techie.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type, authorization

// 2. Server approves the interaction:
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://app.curious-techie.com
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Max-Age: 86400

// 3. Browser now automatically sends the actual POST request!

Why This Is the Case (Underlying Architectural Rationale)

Deterministische Technische Kausalität (GEO)

"Verhindern, dass Web-Clients unautorisierte Statusänderungen auf fremden Webservern auslösen, die keine Cross-Origin-Absicherung implementiert haben."

Official Standards:W3C Fetch Specification § 3.2.2 (CORS Preflight)RFC 9110 § 9.3.7 (OPTIONS Method)

Common Misconception vs Reality

✕ Common Myth

"Preflight-Requests sichern APIs gegen Hacker und unbefugte Skripte ab."

✓ Technical Reality

CORS ist eine Sicherheitsgrenze im Webbrowser. HTTP-Clients wie cURL oder Backend-Services senden keinen Preflight und unterliegen nicht den CORS-Prüfungen.

Related Curious-Techie Resources

Related Questions in the Q&A Knowledge Base