2010-05-08 8 views
6

Tôi đang sử dụng org.apache.http.impl.client.DefaultHttpClient để lấy xml từ một webservice và đang cố gắng để xác định xem thiếtHttpProtocolParams.setUseExpectContinue (params, false) - khi nào cần đặt đúng?

HttpProtocolParams.setUseExpectContinue(params, true) 

hoặc

HttpProtocolParams.setUseExpectContinue(params, false) 

Tôi không rõ ràng về cách xác định điều này. Bất cứ ai có thể cung cấp một hướng dẫn thực hành tốt nhất về khi điều này nên đúng và khi nó phải là sai và cũng có thể có ý nghĩa của từng thiết lập?

Trả lời

8

Nó sẽ là sai trong hầu hết các trường hợp.

Mong đợi-Tiếp tục chỉ cần khi yêu cầu của bạn lớn (như tải lên tệp) và máy chủ có thể có yêu cầu ủy quyền. Bạn không muốn gửi một tệp lớn và nhận lỗi Truy cập bị từ chối. Vì vậy, bạn chỉ cần gửi các tiêu đề đầu tiên và nếu máy chủ nói tiếp tục, sau đó bạn sẽ gửi toàn bộ yêu cầu.

Chúng tôi đã gặp phải một số vấn đề về hiệu năng với hệ thống dựa trên Curl và chúng tôi phát hiện ra 100-Tiếp tục khiến yêu cầu gửi hai lần. Hóa ra Curl có 100-Tiếp tục được bật theo mặc định.

+0

Cảm ơn rất nhiều vì câu trả lời tuyệt vời đó. Tôi đánh giá cao nó. – JohnRock