我在开发一个应用程序时遇到了这个问题,其中请求是一个简单的URL,并且响应返回了XML。
我使用了[NSURLRequest sendsynchronousrequest]
,默认情况下,请求标头Cache-Control
的默认值max-age
为81769
。因此,我得到的响应不是最新的XML,而是旧的XML。 Safari和IE返回了旧的XML,但Chrome和Firefox返回了更新的最新XML。
我猜到IE和Safari返回旧XML的原因是因为Cache-Control
最大年龄为81769
,而在chrome或Firefox中检查时相同的标题返回0
。
所以我手动为标题字段设置max-age
值为0
,并获得最新的XML作为响应。
我想知道这是否是最佳解决方案,还是有其他可靠的方法来获取最新的响应。
答案 0 :(得分:1)
您想要查看NSURLRequestCachePolicy
枚举值的集合。
具体来说,您可以使用NSURLRequest
方法创建+[NSURLRequest requestWithURL:cachePolicy:timeoutInterval:]
对象,并为缓存策略指定NSURLRequestReloadIgnoringLocalCacheData
或类似内容。