En-tête Expect
L'en-tête de requête HTTP Expect indique qu'il y a des attentes qui doivent être satisfaites par le serveur afin de traiter la requête complète avec succès.
Lorsqu'une requête contient un en-tête Expect: 100-continue, le serveur envoie une réponse 100 Continue pour indiquer qu'il est prêt ou capable de recevoir le reste du contenu de la requête.
Attendre une réponse 100 peut être utile si un client anticipe une erreur probable, par exemple lors de l'envoi d'opérations modifiant l'état sans authentification préalable vérifiée.
Une réponse 417 Expectation Failed est renvoyée si le serveur ne peut pas satisfaire l'attente, ou tout autre statut dans le cas contraire (par exemple, un statut 4XX pour une erreur côté client, ou un statut 2XX si la requête peut être résolue avec succès sans traitement supplémentaire).
Aucun des navigateurs les plus courants n'envoie l'en-tête Expect, mais certains clients (outils en ligne de commande) le font par défaut.
| Type d'en-tête | En-tête de requête |
|---|---|
| En-tête de requête interdit | Oui |
Syntaxe
Expect: 100-continue
Directives
Il n'existe qu'une seule attente définie :
100-continue-
Informe les destinataires que le client s'apprête à envoyer un corps de message (probablement volumineux) dans cette requête et souhaite recevoir une réponse intermédiaire
100 Continue.
Exemples
>Corps de message volumineux
Un client envoie une requête avec l'en-tête Expect et attend la réponse du serveur avant d'envoyer le corps du message.
PUT /somewhere/fun HTTP/1.1
Host: origin.example.com
Content-Type: video/h264
Content-Length: 1234567890987
Expect: 100-continue
Le serveur vérifie les en-têtes et génère la réponse, où une 100 Continue indique au client d'envoyer le corps du message :
HTTP/1.1 100 Continue
Le client termine la requête en envoyant les données réelles :
[Données vidéo comme contenu pour la requête PUT]
Spécifications
| Specification |
|---|
| HTTP Semantics> # field.expect> |
Voir aussi
- Le code de statut
417 Expectation Failed - Le code de statut
100 Continue