How to gzip an NSURLConnection request?

此生再无相见时 提交于 2020-01-24 04:15:49

问题


Apparently, NSURLConnection automatically decodes gzipped responses. But, can it gzip encode its requests? If so, how? Or, does it do this automatically too?


回答1:


An HTTP request body cannot be gzipped at the protocol level, as there is no way for the client to know whether the server supports that or not; it works for the server response because the client indicates in the request whether a gzipped response body can be accepted. (It could be done in the future something like how Expect: 100-continue works, but that's not the situation we're faced with today).

At the application level, you certainly could gzip the request body. But that would be outside the realm of NSURLConnection.




回答2:


I'm usually all for using NSURLRequests over ASIHTTPRequests, but ASI does handle this case. HTTP request compression isn't something you can use all the time safely. You can't detect whether a server will handle this correctly on a route. Even if you get Apache setup to handle this correctly it will fail when making requests on different modules since they might not handle it correctly.

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



来源:https://stackoverflow.com/questions/6204066/how-to-gzip-an-nsurlconnection-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!