2009-07-28 3 views
2

Est-ce que quelqu'un d'entre vous a déjà vu une occurrence réelle de l'en-tête HTTP "Expect"? Ou un proxy ou un serveur répondant avec un message "100 Continue"? Est-ce que des serveurs HTTP populaires comme IIS ou Apache rencontrent des situations où un "100 Continue" est renvoyé?Codes d'état HTTP 1xx

Merci, Max

+0

Vous pouvez être intéressé par cette question: http://stackoverflow.com/questions/1186682/ – balpha

+0

En voici une autre: http://stackoverflow.com/questions/848378/sending-100-continue-using-java-servlet -api – mkoeller

Répondre

2

libcurl ajoutera l'en-tête "Expect: 100-Continue" si le contenu d'une requête POST dépasse 1024 octets.

A least since 2003 SUN refuse d'ajouter la prise en charge de cet en-tête à l'API de servlet. L'application Web Java à l'intérieur des conteneurs de servlets n'a aucune possibilité de contrôler 100 réponses Continue.

La plupart des implémentations de conteneur de servlet envoient immédiatement cette réponse chaque fois qu'un "Expect: 100-Continue" est reçu.

1

Oui, Attendez-vous à: 100 Continuer est utilisé par System.Net.HttpWebRequest dans .NET, par exemple, et tous les serveurs web modernes reconnaissent (il fait partie du HTTP/1.1 norme).

Il est principalement utilisé lorsqu'un fichier est téléchargé via POST (mais peut être utilisé avec n'importe quelle requête POST), de sorte que le client peut savoir si la requête peut aboutir avant d'envoyer les données potentiellement volumineuses. Une réponse 100-Continue ne signifie pas que la requête va réussir, cela signifie que les paramètres déjà connus du serveur sont corrects (ex: il ne lancera pas un code 4xx, par exemple), et si le reste est ok aussi bien, alors la demande sera réussie.

1

Le .net System.Net.HttpWebRequest envoie un Expect: 100-continue par défaut sur every post request. Tomcat, au moins, envoie un 100-continuer avant d'exécuter le servlet.