HttpProtocolParams.setUseExpectContinue(params,false) - 何时设置为true?

时间:2010-05-08 19:22:59

标签: java apache-httpclient-4.x

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

HttpProtocolParams.setUseExpectContinue(params, true) 

HttpProtocolParams.setUseExpectContinue(params, false)

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

1 个答案:

答案 0 :(得分:8)

在大多数情况下应该是假的。

只有当您的请求很大(如文件上传)且服务器可能具有授权要求时,才需要Expect-Continue。您不希望发送大文件并获得“拒绝访问”错误。所以你只需先发送标题,如果服务器说继续,你就会发送整个请求。

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