2010-05-08 5 views
6

J'utilise org.apache.http.impl.client.DefaultHttpClient pour récupérer XML à partir d'un webservice et essaie de déterminer si vous souhaitez définirHttpProtocolParams.setUseExpectContinue (params, false) - quand définir true?

HttpProtocolParams.setUseExpectContinue(params, true) 

ou

HttpProtocolParams.setUseExpectContinue(params, false) 

Je ne suis pas clair sur la façon de déterminer. Quelqu'un peut-il offrir une ligne directrice sur les meilleures pratiques quand cela devrait être vrai et quand il devrait être faux et aussi les implications possibles de chaque paramètre?

Répondre

8

Il devrait être faux dans la plupart des cas.

Expect-Continue n'est nécessaire que lorsque votre requête est volumineuse (comme le téléchargement d'un fichier) et que le serveur peut nécessiter une autorisation. Vous ne voulez pas envoyer un fichier volumineux et obtenir une erreur Accès refusé. Donc vous envoyez simplement les en-têtes en premier et si le serveur dit continuer, vous enverrez alors la demande entière.

Nous avons rencontré des problèmes de performances avec un système basé sur Curl et nous avons découvert que 100-Continue entraînait l'envoi de la requête deux fois. Il se trouve que Curl a 100-Continue activé par défaut.

+0

Merci beaucoup pour cette excellente réponse. Je vous en suis reconnaissant. – JohnRock

Questions connexes