O que são e como funcionam requisições preflight?
Requisição preflight
É uma requisição HTTP do método OPTIONS, enviada antes da requisição propriamente dita, com o objetivo de determinar se a última é de fato segura para envio.
Somente quando o servidor envia uma resposta positiva é que a requisição HTTP efetiva é realizada.
A requisição preflight contém metadados com informações como:
-
Origin: indica a origem da requisição (nome do servidor);
-
Access-Control-Request-Method: quais métodos HTTP serão utilizados;
-
Access-Control-Request-Headers: chaves que estarão presentes nos headers.
Comportamento
Conforme descrito na página sobre criação de recursos,
-
Caso você tenha implementado o método OPTIONS no recurso buscado, o fluxo definido é respeitado e a hierarquia de interceptors configurada é mantida.
-
Caso você não tenha implementado um método OPTIONS, os interceptors configurados no recurso all/all são desconsiderados e não são herdados pelo recurso buscado.
Como resposta padrão, os seguintes headers são enviados:
chave: valor
Access-Control-Allow-Origin: * Access-Control-Allow-Methods: HEAD, DELETE, POST, GET, OPTIONS, PUT, PATCH
Caso a requisição preflight contenha o cabeçalho Access-Control-Request-Headers, a resposta incluirá o seu conteúdo no cabeçalho de chave-valor Acess-Control-Allow-Headers.
Share your suggestions with us!
Click here and then [+ Submit idea]