Requête de pré-vérification

Une requête de pré-vérification cross-origin CORS est une requête de vérification faite pour contrôler si le protocole CORS est autorisé.

C'est une requête utilisant la méthode OPTIONS qui utilise trois en-têtes HTTP : La méthode Access-Control-Request-Method, les en-têtes Access-Control-Request-Headers et Origin.

Une requête de pré-vérification est automatiquement envoyée par le navigateur quand cela est nécessaire. Dans les cas normaux, les intégrateurs n'ont pas besoin de construire eux-mêmes cette requête.

Par exemple, un client peut demander au serveur si celui-ci autorise l'usage de la méthode DELETE dans la requête HTTP, avant d'envoyer la "vraie" requête avec la méthode DELETE :

OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org

Si le serveur l'accepte, alors celui-ci va répondre à la requête de pré-vérification en envoyant une réponse HTTP contenant l'entête Access-Control-Allow-Methods dont la valeur contiendra dans sa liste la méthode DELETE :

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400

À remarquer dans cet exemple que le serveur autorise les méthodes : POST ; GET ; OPTIONS et DELETE.

Voir aussi