blob: cf2e3d49f5d1ddbd9b0d38beebd1f0aa5b24a765 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
---
title: Requête de pré-vérification
slug: Glossary/Preflight_request
tags:
- CORS
- HTTP
- pré-vérification
translation_of: Glossary/Preflight_request
original_slug: Glossaire/requete_pre-verification
---
<p>Une requête de pré-vérification cross-origin <a href="/fr/docs/Glossaire/CORS">CORS</a> est une requête de vérification faite pour contrôler si le protocole {{Glossary("CORS")}} est autorisé.</p>
<p>C'est une requête utilisant la méthode {{HTTPMethod("OPTIONS")}} qui utilise trois en-têtes HTTP : La méthode {{HTTPHeader("Access-Control-Request-Method")}}, les en-têtes {{HTTPHeader("Access-Control-Request-Headers")}} et {{HTTPHeader("Origin")}}.</p>
<p>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.</p>
<p>Par exemple, un client peut demander au serveur si celui-ci autorise l'usage de la méthode {{HTTPMethod("DELETE")}} dans la requête HTTP, avant d'envoyer la "vraie" requête avec la méthode {{HTTPMethod("DELETE")}} :</p>
<pre>OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org</pre>
<p>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 {{HTTPHeader("Access-Control-Allow-Methods")}} dont la valeur contiendra dans sa liste la méthode <code>DELETE</code>:</p>
<pre>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</pre>
<p>À remarquer dans cet exemple que le serveur autorise les méthodes : POST ; GET ; OPTIONS et DELETE.</p>
<h2 id="Voir_également">Voir également</h2>
<ul>
<li><a href="/fr/docs/Glossary/CORS">CORS</a></li>
<li>{{HTTPMethod("OPTIONS")}}</li>
</ul>
|