Saltar al contenido
uencoder

CORS

CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad del navegador que usa cabeceras HTTP para controlar si una página puede acceder a recursos de otro origen, evitando lecturas cross-site.

Propósito

Relaja la política del mismo origen para permitir llamadas legítimas a APIs cross-origin, sin que sitios maliciosos puedan leer respuestas cross-origin.

Mecanismo

El navegador añade una cabecera Origin a las peticiones cross-origin. Las peticiones simples se envían directamente; las preflighted pasan por una comprobación OPTIONS de los métodos y cabeceras que el servidor permite. El servidor autoriza el acceso devolviendo cabeceras como Access-Control-Allow-Origin. Las peticiones con credenciales requieren además Allow-Credentials.

Casos de uso

  • Llamadas a APIs cross-origin
  • Fuentes e imágenes de CDN
  • Agregación frontend entre microservicios
  • Integración de SDKs de terceros

Ejemplos

  • entrada
    Origin: https://a.com → https://b.com
    Output
    b.com returns the ACAO header to authorize

    Preflight followed by the actual request

Errores comunes

The browser blocks the response when the server returns no CORS headers
Configure the Access-Control-Allow-* headers

Términos relacionados

References