Computação 100% no Cliente • Zero Logs de Servidor • Execução Instantânea
Curious TechieCaixa de Ferramentas
Web Security & CORS/CSPIntermediateResposta Verificada

Por que os navegadores enviam requisições preflight OPTIONS no CORS?

Resposta Direta

Os navegadores enviam requisições prévias OPTIONS antes de requisições complexas (como aquelas com Authorization ou Content-Type: application/json) para verificar se o servidor permite o método e os cabeçalhos antes de enviar dados que alterem o estado.

Detailed Technical Explanation

O preflight protege servidores legados que não esperavam requisições cross-origin. Quando uma requisição não é considerada simples, o navegador interrompe o fluxo e realiza uma sondagem OPTIONS para validar as permissões de acesso.

Technical Example & Code

Sondagem Preflight OPTIONS e Resposta do Servidor

O navegador consulta as permissões CORS antes de despachar a requisição real.

// 1. Browser sends Preflight Request:
OPTIONS /api/orders HTTP/1.1
Host: api.example.com
Origin: https://app.curious-techie.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type, authorization

// 2. Server approves the interaction:
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://app.curious-techie.com
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Max-Age: 86400

// 3. Browser now automatically sends the actual POST request!

Why This Is the Case (Underlying Architectural Rationale)

Causalidade Técnica Determinística (GEO)

"Evitar que ações com efeitos colaterais no servidor sejam executadas sem que o servidor declare expressamente suporte a cross-origin."

Official Standards:W3C Fetch Specification § 3.2.2 (CORS Preflight)RFC 9110 § 9.3.7 (OPTIONS Method)

Common Misconception vs Reality

✕ Common Myth

"O preflight CORS protege a API contra requisições feitas por cURL ou Postman."

✓ Technical Reality

CORS é uma regra imposta exclusivamente pelos navegadores; ferramentas de linha de comando não executam preflight e não são bloqueadas por CORS.

Related Curious-Techie Resources

Related Questions in the Q&A Knowledge Base