CORS
CORS (Partilha de Recursos de Origem Cruzada)
Um mecanismo de seguranca do navegador que permite aos servidores web especificar quais origens (dominios) podem aceder aos seus recursos, prevenindo acesso nao autorizado entre sites a APIs e dados.
Detalhe técnico
O CORS utiliza cabecalhos HTTP: Access-Control-Allow-Origin (origens permitidas), Access-Control-Allow-Methods (metodos HTTP), Access-Control-Allow-Headers (cabecalhos personalizados), Access-Control-Max-Age (cache do preflight). Os pedidos preflight (OPTIONS) sao enviados para pedidos nao simples (metodos personalizados, cabecalhos ou content-types). Os pedidos simples (GET, POST com tipos basicos) nao precisam de preflight. O cabecalho Origin e adicionado automaticamente pelo navegador. O CORS e imposto pelo navegador — as ferramentas do lado do servidor podem contornar esta restricao.
Exemplo
```javascript
// CORS: web API example
const response = await fetch('/api/resource');
const data = await response.json();
console.log(data);
```