2015-03-31 121 views
3


我使用AFNetworking从后端获取数据,并将请求的cachePolicy设置为NSURLRequestUseProtocolCachePolicy
响应标题包含ETag值,Transfer-Encodingchunked
Chunked ResponseiOS - 是否可以缓存分块的HTTP响应?

在第二次调用相同的API时,它获取新数据,而不是按预期从缓存中获取数据。

我注意到,如果反应不是分块(包含Content-Length头),高速缓存的工作完美
not chunked response

我的问题是:是可以缓存在iOS的chunked回应?
谢谢你的任何建议

+0

我想你可能会发现我的回答很有用:http://stackoverflow.com/questions/20248707/nsurlcache-inconsistent-behaviour – 2015-08-31 17:10:31

回答

0

NSURLCache,AFNetworking用于缓存,不支持缓存这种类型的请求。

你可以尝试:

  • 使用SDURLCache,一个开源的替代方案,为您提供了更多的控制权,或
  • 子类NSURLCache自己滚动使用已支持缓存头请求自己的实现
+0

你有任何官方文档说NSURLCache不支持? – 2015-04-10 17:32:45

+0

来自NSURLRequest文档:“如果您正在进行HTTP或HTTPS字节范围请求,请始终使用NSURLRequestReloadIgnoringLocalCacheData策略。要了解更多信息,请阅读缓存字节范围请求。 – quellish 2015-04-11 07:43:35

相关问题