1. O que é a Política de Mesma Origem (SOP)?
A Same-Origin Policy (SOP) é uma fronteira fundamental de segurança nos navegadores para isolar documentos potencialmente perigosos. Sob a SOP, o JavaScript em https://banco.com não pode acessar cookies ou respostas Fetch de https://malicioso.com.
Duas URLs compartilham a mesma origem se e somente se seu Protocolo, Host (Domínio) e Porta forem exatamente iguais:
https://api.example.com:443 vs https://example.com:443 → ORIGENS DIFERENTES (Subdomínio divergente)http://example.com:80 vs https://example.com:443 → ORIGENS DIFERENTES (Protocolo divergente: HTTP vs HTTPS)https://example.com/app vs https://example.com/api → MESMA ORIGEM (Diferença de caminhos é permitida)2. Como o CORS Viabiliza Acesso Seguro Entre Origens
O CORS (Cross-Origin Resource Sharing) permite aos servidores declarar via cabeçalhos HTTP quais origens externas têm permissão de leitura sobre seus recursos:
- Access-Control-Allow-Origin: Especifica as origens com permissão (ex.:
https://app.curious-techie.com). - Access-Control-Allow-Methods: Métodos HTTP permitidos (ex.:
GET, POST, PUT, DELETE). - Access-Control-Allow-Headers: Cabeçalhos permitidos no pedido (ex.:
Content-Type, Authorization). - Access-Control-Max-Age: Tempo de cache (em segundos) para a resposta de preflight OPTIONS.
3. Requisições OPTIONS de Preflight & Cache
Em requisições complexas (como envio de JSON com Content-Type: application/json ou cabeçalhos Authorization), o navegador dispara automaticamente uma verificação preliminar HTTP OPTIONS (preflight) antes de transmitir a carga real.
4. A Armadilha de Credenciais e Curinga (*)
Um dos erros de segurança mais recorrentes ao compartilhar sessões autenticadas entre domínios:
Os navegadores recusam terminantemente expor respostas se o curinga * for usado com credenciais ativadas. O backend deve responder com a Origin específica do cliente após validá-la.