"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quando o CORS usa uma solicitação de comprovação em cenários entre domínios?

Quando o CORS usa uma solicitação de comprovação em cenários entre domínios?

Publicado em 2024-11-05
Navegar:734

When Does CORS Use a Preflight Request in Cross-Domain Scenarios?

CORS: entendendo a solicitação de 'preflight' para solicitações entre domínios

O compartilhamento de recursos de origem cruzada (CORS) apresenta desafios ao criar HTTP solicitações entre domínios. Para resolver essas limitações, as solicitações de comprovação foram introduzidas como uma solução alternativa.

Solicitação de comprovação explicada

As solicitações de comprovação são solicitações OPTIONS que precedem as solicitações reais (como GET ou POST ) e servem para negociar com o servidor as permissões da solicitação. Essas solicitações incluem dois cabeçalhos adicionais:

  • Access-Control-Request-Method: Especifica o método da solicitação real.
  • Access-Control -Request-Headers: Lista os cabeçalhos que serão incluídos na solicitação real.

Configurando a resposta do servidor

Para lidar com solicitações de comprovação, o servidor deve responder com os seguintes cabeçalhos:

  • Access-Control-Allow-Origin: Concede permissão à origem especificada na solicitação.
  • Access-Control-Allow-Methods: Especifica os métodos permitidos para a solicitação real.
  • Access-Control-Allow-Headers: Lista os cabeçalhos que o navegador tem permissão para envie a solicitação real.

Implementação de comprovação do lado do cliente

Para que a solicitação de comprovação seja bem-sucedida, o cliente deve incluir as seguintes modificações:

  • Envie uma solicitação OPTIONS: Antes da solicitação real, envie uma solicitação OPTIONS com os cabeçalhos Access-Control-Request-* apropriados.
  • Inclua o necessário. headers: Certifique-se de que a solicitação real contenha todos os cabeçalhos especificados no cabeçalho de resposta Access-Control-Allow-Headers.

Exemplo:

Considere uma solicitação de simulação para uma solicitação POST para buscar dados de um URL remoto.

Solicitação de simulação:

  • Origem: https://seudominio.com
  • Access-Control-Request-Method: POST
  • Access-Control-Request-Headers: X-Custom-Header

Resposta do servidor (assumindo POST e X-Custom-Header são permitidos):

  • Access-Control-Allow-Origin: https://yourdomain.com
  • Access-Control-Allow-Methods : POST
  • Access-Control-Allow-Headers: X-Custom-Header

Solicitação real:

  • Origem: https://seudominio.com
  • Método: POST
  • X-Custom-Header: value

Seguindo estas etapas, você pode testar efetivamente solicitações HTTP para superar limitações entre domínios usando CORS.

Declaração de lançamento Este artigo foi reimpresso em: 1729259237 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3