我已使用AFNetworking
从远程服务器获取http响应。当http请求的标头包含" if-none-match"并且远程服务器将返回304代码。和"缓存控制"字段。
基于NSURLCache
类引用,它提供了请求缓存。但是如何将AFNetworking
和NSURLCache
与远程服务器集成,以便根据Cache-Control section of RFC 2616缓存http响应
P.S :我发现AFNetworking
缓存了https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ引用的响应。
因此缓存问题得以解决。但是,当请求的参数总是有一些微小的差别(即签名)时,我还有另一个问题,它不会影响远程服务器的响应。所以我想知道NSURLCache是否可以缓存NSURLRequest忽略它的参数。
例如,它已缓存" http://google.com/test?param1=test& sign = 1 "的响应。当我发送" http://google.com/test?param1=test& sign = 2 "到远程服务器,远程服务器返回我想要缓存的相同响应。
答案 0 :(得分:0)
是的,有点。
URLSession:dataTask:willCacheResponse:completionHandler:
委托方法(或等效的NSURLConnection
委托方法,如果您正在使用该API)。不幸的是,我认为没有比这更自动化的方法了。