我正在NSURLCache
使用AFNetworking
. 缓存工作正常,但无法检查响应是否实际上是从缓存中检索到的。要检查缓存版本是否可用,我使用
[[NSURLCache sharedURLCache] cachedResponseForRequest:_request];
检查我的文件的缓存版本。
我的服务器正在发送以下标头:
Cache-Control:public, must-revalidate, max-age=0
ETag:"317a405bf9f69346c1f0438736a3d02e"
这基本上应该确保缓存的响应在下载后立即过时。但是,cachedResponseForRequest:
即使它实际上已过期,仍会在磁盘上加载先前缓存的版本。
NSURLCache
永不过期还是我没有发送正确的标头等?- 我在这里错过了其他东西吗?
编辑
我也试过发送
Expires: "Mon, 27 May 2013 14:34:50 GMT"
标头和响应仍然从缓存中返回,即使它已经过期。我感觉NSURLCache
工作不正常...