Ответ 1
Все автоматическое, хотя я не могу сразу найти авторитетную ссылку. Вы можете доказать это эмпирически, используя прокси.
Самое лучшее, что я могу найти до сих пор: Примечания к выпуску iOS 7.1, мимоходом передают, что...
Было добавлено поведение совместимости для решения проблемы, когда некоторые веб-серверы отправили неправильное значение Content-Length для Содержимое Content-Encoding: gzip. Ранее NSURLConnection и NSURLSession отправит "сетевое соединение было потеряно" / Ошибка NSURLErrorNetworkConnectionLost (-1005) в этой ситуации.
Поведение совместимости применяется только в том случае, если значение Content-Length точно соответствует расширенному содержимому gzipd. Это не будет применяться для на 1 "или аналогичный расчёт.
то есть. NSURLConnection
и NSURLSession
включают код для обработки содержимого gzip и определенно сделали это до 7.1 (согласно ссылке на "ранее" ). Анекдотически они, похоже, делали это с незапамятных времен, но в любом случае 7.0+ составляют около 98% рынка загрузки приложений.