【问题标题】:Avoiding cached data with NSURLRequest避免使用 NSURLRequest 缓存数据
【发布时间】:2011-05-26 05:38:57
【问题描述】:

我在开发一个请求是一个简单 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 作为响应。

我想知道这是否是最好的解决方案,或者有没有其他可靠的方法来获得最新的响应。

【问题讨论】:

    标签: iphone http-headers nsurlrequest


    【解决方案1】:

    您想查看NSURLRequestCachePolicy 枚举值的集合。

    具体来说,您可以使用+[NSURLRequest requestWithURL:cachePolicy:timeoutInterval:] 方法创建一个NSURLRequest 对象,并为缓存策略指定NSURLRequestReloadIgnoringLocalCacheData 或类似的东西。

    【讨论】:

      猜你喜欢
      • 2014-03-25
      • 2018-03-28
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 2010-10-25
      • 2015-02-12
      相关资源
      最近更新 更多