众所周知,标准HTTP协议使用' Cache-Control'管理缓存。如果我们设置“max-age =负数”'对于密钥,NSURLConnection将不会连接到网络,而是立即返回缓存。最近,我遇到了一个荒谬的要求。有人告诉我,如果响应头指示缓存存在,则禁用HTTP缓存事件。我无法设置' Cache-Control'对于请求标头。就像一个浏览器。我知道iOS实现了标准的HTTP协议,我无法改变NSURLConnection的行为。任何人都可以帮忙吗?非常感谢。
答案 0 :(得分:1)
NSURLSessionConfiguration
的{{3}}说明该类URLCache
属性:
要禁用缓存,请将此属性设置为nil。
因此,您应使用NSURLSession
设置为nil的配置创建URLCache
:
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
config.URLCache = nil;
NSURLSession *session = [NSURLSession sessionWithConfiguration: defaultConfigObject
delegate:self
delegateQueue:[NSOperationQueue mainQueue]];