【问题标题】:iOS - Is it possible to cache the chunked HTTP response?iOS - 是否可以缓存分块的 HTTP 响应?
【发布时间】:2015-06-04 06:40:05
【问题描述】:


我正在使用 AFNetworking 从后端获取数据并将请求的cachePolicy 设置为NSURLRequestUseProtocolCachePolicy
响应标头包含 ETag 值,Transfer-Encodingchunked

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

我注意到,如果响应没有被分块(包含 Content-Length 标头),缓存工作完美

我的问题是:是否可以在 iOS 中缓存 chunked 响应
谢谢你的建议

【问题讨论】:

标签: ios caching afnetworking chunked-encoding nsurlcache


【解决方案1】:

NSURLCache,AFNetworking 用于缓存,不支持缓存此类请求。

你可以试试:

  • 使用SDURLCache,一种可让您获得更多控制权的开源替代方案,或者
  • 继承 NSURLCache 自己以推出自己的实现
  • 使用支持缓存标头的请求

【讨论】:

  • 有官方文档说NSURLCache不支持吗?
  • 来自 NSURLRequest 文档:“如果您发出 HTTP 或 HTTPS 字节范围请求,请始终使用 NSURLRequestReloadIgnoringLocalCacheData 策略。要了解更多信息,请阅读缓存字节范围请求。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
相关资源
最近更新 更多