Saltar al contenido principal

CORS

CORS significa Cross-Origin Resource Sharing ou Compartición de recursos entre orixes distintas.

É un mecanismo de seguridade implantado polos navegadores para controlar se unha páxina web pode facer peticións a outro dominio diferente ao seu propio.

Unha orixe (origin) está composta por tres elementos:

  • Protocolo: (http ou https)
  • Dominio: (exemplo.com)
  • Porto: (por exemplo 80 ou 443)

Dúas URL teñen orixe distinta se calquera destes elementos é diferente.

Por seguridade, os navegadores non permiten por defecto que unha páxina web cargada desde un dominio (sitioA.com) faga peticións a outro dominio (api.sitioB.com) a menos que o segundo o permita explicitamente.

Cando unha aplicación web (por exemplo con JavaScript) intenta acceder a outro dominio, o navegador envía unha petición especial chamada preflight (de tipo OPTIONS) para preguntar se pode facer unha petición a este dominio:

O servidor debe responder cunha cabeceira como:

Access-Control-Allow-Origin: https://cliente.com

Se o navegador non recibe esa cabeceira, bloquea a resposta, aínda que o servidor realmente envíe os datos.