我正在使用org.apache.http.impl.client.DefaultHttpClient
从Web服务中检索xml,并且正在尝试确定是否设置
HttpProtocolParams.setUseExpectContinue(params, true)
或者
HttpProtocolParams.setUseExpectContinue(params, false)
我不清楚如何确定这一点。谁能提供最佳实践指南,说明何时应为真,何时应为假以及每种设置可能带来的影响?
最佳答案
在大多数情况下,它应该是错误的。
仅当您的请求很大(例如文件上传)并且服务器可能具有授权要求时,才需要Expect-Continue。您不希望发送大文件并获得“访问被拒绝”错误。因此,您只需要先发送 header ,然后如果服务器说继续,则将发送整个请求。
我们在基于Curl的系统上遇到了一些性能问题,我们发现100-Continue导致请求被发送两次。事实证明,Curl默认情况下已启用100-Continue。