Я использую org.apache.http.impl.client.DefaultHttpClient
получать xml от веб-сервиса и пытается определить, установить ли
HttpProtocolParams.setUseExpectContinue(params, true)
или
HttpProtocolParams.setUseExpectContinue(params, false)
Я не ясен о том, как определить это. Кто-либо может предложить инструкцию по лучшим практикам по тому, когда это должно быть верно и когда это должна быть ложь и также возможные последствия каждой установки?
В большинстве случаев это должно быть ложь.
Expect-Continue требуется только в том случае, если ваш запрос большой (например, загрузка файла) и у сервера может быть требование авторизации. Вы не хотите отправлять большой файл и получать ошибку «Доступ запрещен». Таким образом, вы просто отправляете сначала заголовки, и если сервер говорит, что продолжить, вы затем отправите весь запрос.
У нас были проблемы с производительностью системы на основе Curl, и мы обнаружили, что 100-Continue вызывает двойную отправку запроса. Оказывается, в Curl по умолчанию включен режим 100-Continue.