Cross-Origin Resource Sharing (CORS)

Cross-Origin Resource Sharing (CORS) é um mecanismo de segurança implementado pelos navegadores para permitir que recursos de um site sejam acessados por páginas web que estão em um domínio diferente. Isso é importante para proteger os usuários de ataques que poderiam ocorrer caso qualquer site pudesse acessar dados de outros sites sem restrições.

Por padrão, os navegadores bloqueiam requisições feitas de um domínio para outro diferente, uma política conhecida como Same-Origin Policy. O CORS é uma maneira de flexibilizar essa política, possibilitando que desenvolvedores especifiquem quais outros domínios têm permissão para acessar os recursos do seu servidor.

Para configurar o CORS, o servidor inclui cabeçalhos HTTP especiais nas respostas a requisições, indicando quais origens (domínios) são permitidas. Por exemplo, ao incluir o cabeçalho Access-Control-Allow-Origin nas respostas, o servidor pode informar que determinado recurso pode ser compartilhado com origens específicas ou até com todas as origens, usando um asterisco (*) para isso.

Esses cabeçalhos podem também especificar quais métodos HTTP (como GET, POST, etc.) e quais cabeçalhos personalizados são permitidos, além de definir se credenciais como cookies devem ser incluídas nas requisições cross-origin.