如何知道请求是不是来自缓存或不使用 AFNetworking
Posted
技术标签:
【中文标题】如何知道请求是不是来自缓存或不使用 AFNetworking【英文标题】:How to know If the request came from Cache or not using AFNetworking如何知道请求是否来自缓存或不使用 AFNetworking 【发布时间】:2014-01-13 05:48:53 【问题描述】:这是我使用 AFNetworking 的第一天,我喜欢它 :) 我只有一个问题,
我有一个请求,我缓存了响应,并设置了缓存策略, 我怎么知道响应数据是来自缓存端还是从原始源加载的?
我需要类似的东西
NSLog(@"Cach Used : %@", [request didUseCachedResponse] ? @"YES" : @"NO");
感谢您的帮助:)
【问题讨论】:
您是否尝试检查状态码?如果 NSURLConnection 吞下304
并返回 200
,这可能不起作用。
没错,它一直返回 200。吞咽:D
【参考方案1】:
无法以编程方式检查响应是否来自缓存,如果为 hhtp 请求正确设置了缓存策略,则您的服务器响应包含有效的 Cache-Control 标头,响应将自动缓存以供后续请求.如果响应来自缓存,它将比来自服务器的时间早一点。这是可以为您提供更多信息的链接link 和AFNetworking FAQ
【讨论】:
以上是关于如何知道请求是不是来自缓存或不使用 AFNetworking的主要内容,如果未能解决你的问题,请参考以下文章
RESTDataSource - 如何知道响应来自获取请求还是缓存
使用 SDWebImage 而不是 AFNetworking 进行图像加载有很大的优势吗?