J'ai vu Expect : 100-continue dans une requête PUT (téléchargement d'un fichier), qu'est-ce que cela signifie ?
Réponse
Trop de publicités?Ce qui est censé se passer, c'est que vous êtes censé envoyer les en-têtes de requête avec un :
Expect: 100-continue
l'en-tête. Ensuite, après avoir envoyé les en-têtes, mais avant d'envoyer la charge utile, vous devez vérifier si vous obtenez la réponse 100 ou une réponse 417. Si vous obtenez la réponse 100, vous pouvez continuer à envoyer la charge utile. Dans le cas contraire, vous devez vous arrêter.
L'idée est que lorsque vous vous apprêtez à envoyer un fichier de 10 Go, cela donne au serveur l'occasion de dire "Attendez, cow-boy" et vous pouvez alors gérer le processus de manière plus élégante que si le serveur se contentait de fermer la prise sur vous.
Le fait que vous ayez reçu une réponse de 100, alors que vous ne vous y attendiez pas, indique que vous avez probablement reçu à la fois la réponse de 100 et celle de 200 (ou autre). Le 100 vous a été envoyé après l'envoi des en-têtes, puis la réponse finale lorsque la requête a été terminée.
Le fait que vous n'y ayez pas prêté attention est vraiment un détail.
Mais dans l'idéal, à l'avenir, votre traitement pourra prendre en compte la réponse appropriée à une demande en cours de route.
Si vous n'avez PAS envoyé l'en-tête Expect, le serveur n'aurait pas dû vous envoyer les 100, puisque vous ne lui avez pas dit que vous alliez les traiter. Si vous avez bien envoyé l'en-tête Expect, le 100 n'aurait pas dû vous surprendre.