2011-06-01 62 views

回答

5

無法在協議級別對HTTP請求主體進行gzip壓縮,因爲客戶端無法知道服務器是否支持該請求,它適用於服務器響應,因爲客戶端在請求中指示是否可以接受gzip壓縮的響應主體。 (它可以在未來完成,就像Expect: 100-continue的工作方式一樣,但這不是我們今天面臨的情況)。

在應用程序級別,您當然可以gzip請求正文。但那將超出NSURLConnection的範圍。

+0

有趣。你能舉一個例子來說明如何使用NSURLConnection來發送請求嗎?或者,我是否必須使用另一個庫,如[ASIHTTP,它支持用於POST&PUT的請求主體的gzip壓縮](http://allseeing-i.com/ASIHTTPRequest/How-to-use#using_using_gzip_to_compress_request_bodies)? – ma11hew28 2011-06-01 16:10:29

0

我通常都是通過ASIHTTPRequests使用NSURLRequests,但ASI確實處理這種情況。 HTTP請求壓縮不是您可以安全使用的所有時間。您無法檢測到服務器是否會在路線上正確處理此問題。即使你使用Apache安裝來正確處理它,在不同模塊發出請求時也會失敗,因爲它們可能無法正確處理它。

http://allseeing-i.com/ASIHTTPRequest/How-to-use#using_gzip_to_compress_request_bodies