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: (
httpouhttps) - 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.