Las claves verificadas
- CORS usa encabezados HTTP para que un servidor indique qué orígenes pueden leer recursos desde el navegador. Ver evidencia
- El navegador restringe solicitudes entre orígenes iniciadas por scripts salvo que la respuesta autorice el acceso. Ver evidencia
- El preflight usa OPTIONS para consultar métodos y encabezados permitidos antes de ciertas solicitudes. Ver evidencia
- Las reglas de CORS forman parte del estándar Fetch que usan los navegadores para solicitudes de red. Ver evidencia
Qué es CORS y quién toma la decisión
CORS, por Cross-Origin Resource Sharing, es un mecanismo basado en encabezados HTTP. Permite que un servidor indique qué origen distinto puede leer una respuesta desde un navegador. Un origen combina esquema, dominio y puerto: cambiar cualquiera de esos elementos puede convertir una solicitud en una petición entre orígenes.
También puede servirte: Qué es un webhook y en qué se diferencia de una API
El navegador aplica CORS a solicitudes iniciadas por JavaScript, como fetch o XMLHttpRequest. La API puede recibir y responder la solicitud, pero si no incluye el permiso adecuado, el navegador no entrega esa respuesta al código de la página. Por eso cambiar solo el frontend no resuelve un error de CORS.
Cuándo aparece la solicitud OPTIONS
Para ciertas solicitudes, el navegador envía antes una petición OPTIONS llamada preflight. Allí anuncia el método y los encabezados que planea usar. El servidor responde si autoriza ese origen, método y encabezados; recién entonces el navegador puede enviar la solicitud principal.
No todas las peticiones entre orígenes hacen preflight. Una solicitud con condiciones más simples puede ir directamente, aunque el servidor aún debe autorizar que el script lea su respuesta mediante Access-Control-Allow-Origin. Los detalles dependen del método, Content-Type y encabezados usados.

Guía para diagnosticar un error de CORS
Primero comprobá en la consola del navegador el origen de la página y la URL de la API. Después revisá la respuesta de la API o del preflight: Access-Control-Allow-Origin debe coincidir con el origen permitido. Si hay métodos o encabezados no simples, verificá también Access-Control-Allow-Methods y Access-Control-Allow-Headers.
No uses un comodín para resolver a ciegas un caso con credenciales. Las solicitudes que incluyen cookies o autenticación requieren reglas más precisas: el servidor debe especificar el origen y permitir credenciales de forma explícita. CORS controla qué puede leer el navegador, pero no reemplaza autenticación, autorización ni validación en el servidor.

Qué aporta VisteEsto: Nuestro trabajo en esta nota
VisteEsto separa la decisión del navegador, la autorización del servidor y una ruta concreta para leer un error de CORS.
Fuentes, actualizaciones y metodología 3 fuentes
Fuentes consultadas
- Fuente secundariaMDN: Cross-Origin Resource Sharing
- Fuente primariaWHATWG: Fetch Standard
- Fuente primariaweb.dev: Cross-Origin Resource Sharing
Historial de actualización
- Publicación inicial basada en MDN, Fetch Standard y web.dev.
Cómo elaboramos esta nota
Definimos la consulta principal “qué es CORS y por qué el navegador bloquea una API”, contrastamos los datos con 3 fuentes —2 primarias— y revisamos contexto, imágenes y posibles vacíos antes de publicar. Conocé nuestra política editorial y de verificación.



