我的服务器响应中的缓存控制限制[private; max-age=15]
设置为15秒。但即使在15秒后,响应也会从缓存加载。我正在使用swift3
& Alamofire 4.0
。
var request = URLRequest(url: URL(string: urlStr)!)
request.timeoutInterval = 30
request.httpMethod = "GET"
request.addValue("private", forHTTPHeaderField: "Cache-Control")
request.cachePolicy = .returnCacheDataElseLoad
request.addValue("token", forHTTPHeaderField: "auth_key")
Alamofire.request(request).responseObject(completionHandler: { (response: Response) in {
print(response)
}
答案 0 :(得分:0)
您应该更改缓存政策。 Apple的文档是,
case returnCacheDataElseLoad
指定现有的缓存数据 应该用来满足要求,无论年龄或年龄 到期日。如果缓存中没有现有数据 对应请求,数据从始发加载 源。
来源:https://developer.apple.com/reference/foundation/nsurlrequest.cachepolicy
查看清单,找出最适合您的政策。我建议将其设置为默认useProtocolCachePolicy
。