CORS explicado
Guía completa de Cross-Origin Resource Sharing — cómo funciona, cada encabezado explicado y errores comunes con soluciones.
Descripción general
Que es CORS?
Cross-Origin Resource Sharing (CORS) es un mecanismo basado en encabezados HTTP que permite a un servidor indicar cualquier origen (dominio, esquema o puerto) distinto al suyo desde el cual un navegador deberia permitir la carga de recursos. Los navegadores aplican por defecto la politica de mismo origen, que impide que las paginas web realicen solicitudes a un origen diferente del que sirvio la pagina.
La politica de mismo origen
Dos URLs tienen el mismo origen si comparten el mismo esquema (http/https), host y puerto. Por ejemplo, https://app.example.com y https://api.example.com son origenes diferentes porque el host difiere. La politica de mismo origen evita que un sitio malicioso lea datos sensibles de otro sitio; CORS es el mecanismo que relaja esta restriccion de manera controlada.
Solicitudes simples vs. Preflight
Una "solicitud simple" usa GET, HEAD o POST con solo encabezados seguros de CORS y no activa un preflight. Todas las demas solicitudes de origen cruzado, aquellas que usan metodos como PUT o DELETE, o que incluyen encabezados como Authorization, activan un preflight: el navegador primero envia una solicitud OPTIONS para pedir permiso al servidor antes de enviar la solicitud real.
Cómo funciona CORS
Solicitud simple
Origin: https://app.example.com
Access-Control-Allow-Origin: *
Solicitud de verificación previa
Access-Control-Request-Method: DELETE
Access-Control-Allow-Methods: DELETE
Origin: https://app.example.com
Encabezados CORS
Errores comunes
Guías relacionadas
Códigos de estado HTTP
Referencia completa de todos los códigos de estado HTTP con descripciones y ejemplos.
ExplorarEncabezados HTTP
Encabezados HTTP comunes explicados con sintaxis, ejemplos y valores frecuentes.
ExplorarMétodos HTTP
Guía completa de métodos de solicitud HTTP con tablas comparativas y ejemplos.
ExplorarTipos MIME
Referencia completa de tipos MIME comunes con extensiones de archivo, categorías y ejemplos de uso.
Explorar