在 Alamofire 中检测缓存的响应

Posted

技术标签:

【中文标题】在 Alamofire 中检测缓存的响应【英文标题】:Detect cached response in Alamofire 【发布时间】:2015-11-20 11:58:50 【问题描述】:

仅当网络请求返回非缓存响应时,我当前正在开发的应用程序才需要向用户显示通知。

该应用使用 Alamofire 进行网络请求。

如何确定来自 Alamofire 的响应是否来自缓存?

【问题讨论】:

【参考方案1】:

唯一的方法是在 HTTP 响应中检查 HTTP header fields。 Cache-Control 字段告诉从服务器到客户端的所有缓存机制它们是否可以缓存此对象。它以秒为单位。 Cache-Control: max-age=3600 表示响应的内容可以是一小时前的。

如果您需要来自服务器的非缓存响应,您必须在请求中指定 Cache-Control 字段为 Cache-Control: no-cache

是否使用 Alamofire 没有区别

【讨论】:

以上是关于在 Alamofire 中检测缓存的响应的主要内容,如果未能解决你的问题,请参考以下文章

似乎无法使用 Alamofire 获取缓存的响应

如何检查网络响应来自 Alamofire 请求中的缓存或服务器?

在 swift 3 中下载文件时,alamo fire 中的进度视图不会更新

如何在 Alamofire 中禁用缓存

Alamofire 不会自动设置“If-None-Match”标头

如何在 Swift 项目中添加 Alamofire