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.