Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

http
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.

http
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
HTTP/1.1 100 Continue

Le client termine la requête en envoyant les données réelles :

http
[Données vidéo comme contenu pour la requête PUT]

Spécifications

Specification
HTTP Semantics
# field.expect

Voir aussi