2010-05-08 9 views
6

Ich verwende org.apache.http.impl.client.DefaultHttpClient xml aus einem Webservice abgerufen werden und ich versuche, obHttpProtocolParams.setUseExpectContinue (params, false) - Wann wird true gesetzt?

HttpProtocolParams.setUseExpectContinue(params, true) 

oder

HttpProtocolParams.setUseExpectContinue(params, false) 

Ich bin nicht klar festgelegt, um zu bestimmen, wie diese zu bestimmen. Kann jemand eine Best-Practice-Richtlinie darüber geben, wann dies zutrifft und wann es falsch sein sollte und welche möglichen Auswirkungen die einzelnen Einstellungen haben?

Antwort

8

Es sollte in den meisten Fällen falsch sein.

Expect-Continue wird nur benötigt, wenn Ihre Anforderung groß ist (z. B. Hochladen von Dateien) und der Server möglicherweise eine Autorisierungsanforderung hat. Sie möchten keine große Datei senden und erhalten einen Zugriff verweigert-Fehler. Sie senden also nur die Header und wenn der Server weiter sagt, senden Sie die gesamte Anfrage.

Wir hatten ein Performance-Problem mit einem Curl-basierten System und wir haben herausgefunden, dass 100-Continue die Anfrage zweimal gesendet hat. Es stellt sich heraus, dass Curl 100-Continue standardmäßig aktiviert hat.

+0

Vielen Dank für diese ausgezeichnete Antwort. Ich schätze es. – JohnRock

Verwandte Themen