Как получить запрос NSURLConnection? - PullRequest
5 голосов
/ 01 июня 2011

Очевидно, NSURLConnection автоматически декодирует сжатые ответы . Но может ли он gzip кодировать свои запросы? Если так, то как? Или это тоже происходит автоматически?

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

Тело HTTP-запроса нельзя сжать на уровне протокола, поскольку у клиента нет возможности узнать, поддерживает ли сервер это или нет;это работает для ответа сервера, потому что клиент указывает в запросе, может ли быть принято gzipped тело ответа.(Это может быть сделано в будущем примерно так, как работает Expect: 100-continue, но с такой ситуацией мы не сталкиваемся сегодня).

На уровне приложения вы, конечно, можете сжать тело запроса.Но это было бы за пределами NSURLConnection.

0 голосов
/ 02 марта 2012

Обычно я использую NSURLRequests вместо ASIHTTPRequests, но ASI справляется с этим. Сжатие HTTP-запроса - это не то, что вы можете безопасно использовать все время. Вы не можете определить, будет ли сервер обрабатывать это правильно на маршруте. Даже если вы настроите Apache для правильной обработки, произойдет сбой при выполнении запросов к различным модулям, поскольку они могут обрабатывать его неправильно.

http://allseeing -i.com / ASIHTTPRequest / Как в использовании # using_gzip_to_compress_request_bodies

...