问题 Accept-Encoding:iOS上的gzip


Q1 使用iOS App套件,我可以期待吗? Accept-Encoding: gzip 将自动使用,或者我是否需要通过在URL请求中的某个位置明确要求使用它?

我正在使用这个电话 [NSData dataWithContentsOfURL: url]虽然我可能会改为专门设置一个NSURLSession - 这可能会自动请求gzip编码吗?

Q2 另外,如果它  使用和服务器必须使用gzip-ed内容,我是否正确客户端将自动解码压缩内容透明,以便我不需要?


2858
2017-08-15 20:36


起源



答案:


这都是自动的,虽然我不能立即找到权威参考。您可以使用代理凭经验证明。

到目前为止我能找到的最好的: iOS 7.1发行说明 顺便提一下......

已添加兼容性行为以解决某些问题   Web服务器将发送错误的Content-Length值   “Content-Encoding:gzip”内容。以前,NSURLConnection和   NSURLSession会发送“网络连接丢失”/   在这种情况下NSURLErrorNetworkConnectionLost(-1005)错误。

兼容性行为仅适用于Content-Length值   与扩展的gzip内容完全匹配。它不适用于“关闭”   通过1“或类似的错误计数。

NSURLConnection 和 NSURLSession 包括处理gzip内容的代码,并且在7.1之前肯定是这样做的(根据“之前”的引用)。有趣的是,自远古以来,他们似乎已经这样做了,但无论如何,7.0+现在大约是应用下载市场的98%。


11
2017-08-15 21:18



跟进上面的答案阅读 URL加载系统 - Shams Ahmed
嗨@tommy,谢谢 - 我对这个问题进行了轻微编辑,以明确问题的两个部分。我想你已经回答了Q2,但没有回答Q1? - Benjohn
我找到了第二季度的合适来源,但从经验来看,答案是肯定的。我会继续打猎。 - Tommy


答案:


这都是自动的,虽然我不能立即找到权威参考。您可以使用代理凭经验证明。

到目前为止我能找到的最好的: iOS 7.1发行说明 顺便提一下......

已添加兼容性行为以解决某些问题   Web服务器将发送错误的Content-Length值   “Content-Encoding:gzip”内容。以前,NSURLConnection和   NSURLSession会发送“网络连接丢失”/   在这种情况下NSURLErrorNetworkConnectionLost(-1005)错误。

兼容性行为仅适用于Content-Length值   与扩展的gzip内容完全匹配。它不适用于“关闭”   通过1“或类似的错误计数。

NSURLConnection 和 NSURLSession 包括处理gzip内容的代码,并且在7.1之前肯定是这样做的(根据“之前”的引用)。有趣的是,自远古以来,他们似乎已经这样做了,但无论如何,7.0+现在大约是应用下载市场的98%。


11
2017-08-15 21:18



跟进上面的答案阅读 URL加载系统 - Shams Ahmed
嗨@tommy,谢谢 - 我对这个问题进行了轻微编辑,以明确问题的两个部分。我想你已经回答了Q2,但没有回答Q1? - Benjohn
我找到了第二季度的合适来源,但从经验来看,答案是肯定的。我会继续打猎。 - Tommy