ios – NSURLCache是​​否删除过期的缓存响应?

ios – NSURLCache是​​否删除过期的缓存响应?,第1张

概述从iOS 5.0开始,Apple支持磁盘缓存.之前我正在使用自制的解决方案,但是我正在测试NSURLCache,希望最终能够使用它,因为我在过去看到了奇怪的行为. 我遇到的一个更令人困惑的问题是cachedResponseForRequest:返回过期的请求.我一直在测试我正在使用的iPhone上的时钟.解析标题清楚地表明设备时间早于到期日期. 我愿意接受可能有一个后台任务,定期修剪过期的请求.我 从iOS 5.0开始,Apple支持磁盘缓存.之前我正在使用自制的解决方案,但是我正在测试NSURLCache,希望最终能够使用它,因为我在过去看到了奇怪的行为.

我遇到的一个更令人困惑的问题是cachedResponseForRequest:返回过期的请求.我一直在测试我正在使用的iPhone上的时钟.解析标题清楚地表明设备时间早于到期日期.

我愿意接受可能有一个后台任务,定期修剪过期的请求.我已经完成了测试,我实际上在等待查看请求是否“自然”到期,但事实并非如此.

Apple是否未能正确实现缓存失效?

我正在使用Charles代理进行测试.这是一个tough problem,我不羡慕任何必须实现缓存失效的人,但iOS应该是一个成熟的SDK.

解决方法 有两种http缓存机制:到期和验证.
如果响应未到期,则客户端可以从缓存中提供响应,而无需向服务器发出请求.
如果它已过期,则客户端可以使用If-Match或If-ModifIEd-Since标头条目进行条件请求.
如果服务器以304 Not ModifIEd响应,则客户端可以使用缓存中的数据,即使它已过期.

有关详细信息,请查看http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html.

总结

以上是内存溢出为你收集整理的ios – NSURLCache是​​否删除过期的缓存响应?全部内容,希望文章能够帮你解决ios – NSURLCache是​​否删除过期的缓存响应?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/999400.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存