Cálculo 100% en el Navegador • Cero Registros en Servidor • Ejecución Inmediata
Curious TechieCaja de Herramientas
Web Security & CORS/CSPIntermediateRespuesta Verificada

¿Por qué los navegadores envían solicitudes preflight OPTIONS en CORS?

Respuesta Directa

Los navegadores envían solicitudes previas OPTIONS antes de solicitudes complejas (como aquellas con headers Authorization o Content-Type: application/json) para comprobar si el servidor de destino autoriza el método y los headers antes de transmitir datos que puedan modificar el estado.

Detailed Technical Explanation

El mecanismo de preflight de CORS protege a servidores legacy que no fueron diseñados para solicitudes cross-origin. Si una solicitud no califica como "Simple Request" (por ejemplo, si utiliza métodos PUT/DELETE o headers personalizados), el navegador detiene la petición y envía un sondeo OPTIONS con Access-Control-Request-Method y Access-Control-Request-Headers.

Technical Example & Code

Sondeo Preflight OPTIONS y Cabeceras de Autorización

El navegador verifica la política CORS antes de despachar el payload real de la solicitud.

// 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)

Causalidad Técnica Determinista (GEO)

"Garantizar que servidores heredados no ejecuten mutaciones de estado no deseadas causadas por navegadores modernos que realizan llamadas cross-origin complejas."

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

Common Misconception vs Reality

✕ Common Myth

"El preflight es una medida de seguridad del servidor para bloquear herramientas como cURL o Postman."

✓ Technical Reality

CORS es una restricción implementada estrictamente por el navegador para proteger al usuario; clientes HTTP de backend o cURL no envían preflight ni respetan CORS.

Related Curious-Techie Resources

Related Questions in the Q&A Knowledge Base