ANÚNCIO

~/questoes/programacao

O que significa CORS e por que é importante em APIs?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Programação CORS Intermediario
Aula de referência Como Configurar um Projeto de API no Laravel 12
Para fixar

CORS: Entendendo Requisições Entre Domínios

Conceito central

CORS (Cross-Origin Resource Sharing) é um mecanismo de segurança que controla quais domínios podem acessar sua API. Quando seu frontend e backend estão em endereços diferentes (localhost:3000 e localhost:8000, por exemplo), o navegador bloqueia a requisição por padrão — a menos que você configure CORS corretamente.

Por que essa resposta faz sentido

CORS permite que requisições vindas de domínios diferentes acessem sua API de forma segura. Em projetos modernos, é comum ter o frontend em um domínio e a API em outro, então CORS é essencial para que essas partes se comuniquem.

Armadilhas comuns

  • Confundir CORS com autenticação — CORS controla quais domínios podem acessar, autenticação verifica quem está acessando
  • Achar que CORS resolve apenas problemas de frontend — CORS é configurado no backend/servidor para permitir ou negar acesso
  • Permitir CORS para todos os domínios (*) em produção — isso enfraquece a segurança; configure apenas domínios confiáveis

Entenda as alternativas

A

Compressão de respostas JSON é um tema completamente diferente de CORS. Essa técnica reduz o tamanho dos dados enviados, mas não tem relação com controle de acesso entre domínios.

B

Correção de erros ortográficos em respostas não é função do CORS. CORS trata exclusivamente de segurança e permissões de acesso entre domínios, não da qualidade ou conteúdo das respostas.

C

Cache automático é um recurso de otimização, não relacionado ao CORS. Enquanto cache melhora performance reutilizando dados, CORS resolve o problema de acesso bloqueado entre domínios diferentes.

D

Esta é a resposta correta. CORS permite que requisições oriundas de domínios diferentes acessem sua API. Sem CORS configurado, o navegador bloquearia essas requisições por questões de segurança.

Dica prática: Ao trabalhar com Laravel, configure CORS no arquivo config/cors.php informando quais domínios podem acessar sua API. Em desenvolvimento, você pode permitir localhost:3000, mas em produção, especifique apenas os domínios do seu frontend.

Revise pensando: Se seu frontend em https://app.exemplo.com precisa acessar sua API em https://api.exemplo.com, qual mecanismo você configuraria para permitir essa comunicação?