2010-05-08 59 views
6

我使用org.apache.http.impl.client.DefaultHttpClient檢索從Web服務的XML,我試圖確定是否設置HttpProtocolParams.setUseExpectContinue(params,false) - 何時設置true?

HttpProtocolParams.setUseExpectContinue(params, true) 

HttpProtocolParams.setUseExpectContinue(params, false) 

我不清楚如何確定這一點。任何人都可以提供一個最佳實踐指南,說明何時這應該是真實的,何時應該是錯誤的,以及每種設置的可能含義?

回答

8

在大多數情況下應該是錯誤的。

預期 - 僅當您的請求很大時才需要繼續(如文件上傳)並且服務器可能有授權要求。你不想發送一個巨大的文件,並得到一個訪問被拒絕的錯誤。所以你只需首先發送標題,如果服務器說繼續,你會發送整個請求。

我們在基於Curl的系統中遇到了一些性能問題,我們發現100-Continue導致請求被髮送兩次。事實證明,默認情況下,Curl已經啓用了100-Continue。

+0

非常感謝那個優秀的答案。我很感激。 – JohnRock 2010-05-08 21:31:37

相關問題