7

我正在使用 org.apache.http.impl.client.DefaultHttpClient从 web 服务中检索 xml 并试图确定是否设置

HttpProtocolParams.setUseExpectContinue(params, true) 

或者

HttpProtocolParams.setUseExpectContinue(params, false)

我不清楚如何确定这一点。任何人都可以提供最佳实践指南,说明什么时候应该是真的,什么时候应该是假的,以及每个设置的可能影响?

4

1 回答 1

9

在大多数情况下它应该是错误的。

仅当您的请求很大(例如文件上传)并且服务器可能有授权要求时才需要 Expect-Continue。您不想发送一个大文件并收到拒绝访问错误。因此,您只需先发送标头,如果服务器说继续,您将发送整个请求。

我们在使用基于 Curl 的系统时遇到了一些性能问题,我们发现 100-Continue 导致请求被发送两次。事实证明,Curl 默认开启了 100-Continue。

于 2010-05-08T20:32:40.477 回答