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é.
Il s'agit d'une requête OPTIONS, utilisant deux ou trois en-têtes de requête HTTP : Access-Control-Request-Method, Origin, et éventuellement Access-Control-Request-Headers.
Une requête de pré-vérification est automatiquement émise par un navigateur et, dans la plupart des cas, les développeur·euse·s front-end n'ont pas besoin de créer ces requêtes manuellement. Elle apparaît lorsqu'une requête est qualifiée « à pré-vérifier » et est omise pour les requêtes simples.
Par exemple, un client peut demander à un serveur s'il autoriserait une requête DELETE, avant d'envoyer une requête DELETE, en utilisant une requête de pré-vérification :
OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: x-requested-with
Origin: https://www.exemple.com
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 204 No Content
Connection: keep-alive
Access-Control-Allow-Origin: https://www.exemple.com
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: X-Requested-With
Access-Control-Max-Age: 86400
À remarquer dans cet exemple que le serveur autorise les méthodes : POST ; GET ; OPTIONS et DELETE.