O que é CORS?

CORS (compartilhamento de recursos entre origens) é a forma como um servidor informa aos navegadores quais outros sites podem ler suas respostas. Por padrão, o JavaScript em https://app.example.com pode enviar uma solicitação para https://api.example.com, mas o navegador oculta a resposta, a menos que a API responda com um cabeçalho Access-Control-Allow-Origin que indique a origem da página ou *.

Para qualquer solicitação além de um GET simples ou de um POST de formulário simples, como um PUT, um DELETE ou uma solicitação com corpo JSON e um cabeçalho Authorization, o navegador primeiro pede permissão por meio de um preflight: uma solicitação OPTIONS que lista o método e os cabeçalhos que pretende usar. A solicitação real só é enviada se a resposta do servidor permitir esses itens.

Descrição da ferramenta

Informe a URL chamada pela sua página, a origem da página, o método e os cabeçalhos personalizados da solicitação. Em seguida, clique em Verificar CORS. Nosso servidor envia as mesmas solicitações que um navegador enviaria e aplica às respostas as regras do navegador:

  • O preflight (OPTIONS) com Access-Control-Request-Method e Access-Control-Request-Headers
  • Um GET com o cabeçalho Origin, para ler os cabeçalhos CORS de uma resposta normal

As verificações mostram quais regras são atendidas ou não, e a tabela lista todos os cabeçalhos CORS das duas respostas. O método escolhido nunca é enviado; portanto, verificar um endpoint DELETE não exclui nada.

A ferramenta também informa se as solicitações com cookies funcionariam. Elas exigem a origem exata, em vez de *, e Access-Control-Allow-Credentials: true.

Assistentes de IA conectados ao servidor MCP Rapid Tool Set podem executar a mesma verificação como cors_checker.

Dicas

  • Os erros de CORS são gerados pelo navegador, não pelo servidor. Uma solicitação que funciona no curl ou no Postman ainda pode ser bloqueada no navegador, pois essas ferramentas não aplicam CORS.
  • Se o preflight receber uma resposta 401 ou 404, o servidor está tratando OPTIONS como uma solicitação normal. Permita os preflights antes das verificações de autenticação.
  • Quando o servidor escolhe a origem permitida para cada solicitação, ele também deve enviar Vary: Origin; caso contrário, uma CDN pode fornecer a resposta de um site a outro.