我正在使用org.apache.http.impl.client.DefaultHttpClient
从网络服务中检索xml并尝试确定是否设置
HttpProtocolParams.setUseExpectContinue(params, true)
或
HttpProtocolParams.setUseExpectContinue(params, false)
我不清楚如何确定这一点。任何人都可以提供最佳做法指南,说明何时应该是真的,什么时候应该是假的,以及每个环境可能产生的影响?
答案 0 :(得分:8)
在大多数情况下应该是假的。
只有当您的请求很大(如文件上传)且服务器可能具有授权要求时,才需要Expect-Continue。您不希望发送大文件并获得“拒绝访问”错误。所以你只需先发送标题,如果服务器说继续,你就会发送整个请求。
我们在基于Curl的系统中遇到了一些性能问题,我们发现100-Continue导致请求被发送两次。事实证明,Curl默认启用100-Continue。