CORS
InformativoCross-Origin Resource Sharing
Definición
Cross-Origin Resource Sharing (CORS) es un mecanismo basado en cabeceras HTTP que permite a un servidor indicar desde qué orígenes (dominio, protocolo, puerto) un navegador puede cargar recursos. CORS relaja la Same-Origin Policy de forma controlada, permitiendo a las APIs ser consumidas por front-ends en dominios diferentes de manera segura.
Impacto
Ejemplos
Cabeceras CORS y flujo de preflight
Cuando el navegador detecta una petición cross-origin con ciertos criterios (headers personalizados, métodos no simples), envía primero una petición OPTIONS (preflight). El servidor responde indicando qué orígenes, métodos y cabeceras están permitidos.
# Petición preflight automática del navegador OPTIONS /api/data HTTP/1.1 Host: api.ejemplo.com Origin: https://app.ejemplo.com Access-Control-Request-Method: POST Access-Control-Request-Headers: Content-Type, Authorization # Respuesta del servidor (configuración segura) HTTP/1.1 204 No Content Access-Control-Allow-Origin: https://app.ejemplo.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Credentials: true Access-Control-Max-Age: 86400