2010-05-08 6 views
6

Я использую org.apache.http.impl.client.DefaultHttpClient для извлечения XML из веб-сервиса, и я пытаюсь определить, следует ли установитьHttpProtocolParams.setUseExpectContinue (params, false) - когда установить true?

HttpProtocolParams.setUseExpectContinue(params, true) 

или

HttpProtocolParams.setUseExpectContinue(params, false) 

Я не ясно, о том, как определить это. Может ли кто-нибудь предложить руководство по лучшим практикам, когда это должно быть правдой и когда оно должно быть ложным, а также возможные последствия каждой настройки?

ответ

8

В большинстве случаев это должно быть неверно.

Ожидание-продолжение необходимо только тогда, когда ваш запрос является большим (например, загрузка файла), и сервер может иметь требование авторизации. Вы не хотите отправлять огромный файл и получать сообщение об ошибке «Отказано в доступе». Таким образом, вы просто отправляете заголовки в первую очередь, и если сервер говорит продолжить, вы отправите весь запрос.

У нас была некоторая проблема с производительностью с системой на основе Curl, и мы обнаружили, что 100-Continue вызывает отправку запроса дважды. Оказывается, по умолчанию Curl имеет 100-Continue.

+0

Большое спасибо за отличный ответ. Я ценю это. – JohnRock

Смежные вопросы