【问题标题】:Does okhttp can tell whether the local cache is out of date OR(AND) the server side has just updated automatically, how?okhttp 是否可以判断本地缓存是否已过期或(和)服务器端刚刚自动更新,如何?
【发布时间】:2016-02-25 01:45:34
【问题描述】:

我知道 okhttp 有缓存机制,我们可以强制它使用缓存或仅从服务器获取信息。但我想知道的是:

  1. 我们可以给缓存设置一个有效期,这样如果缓存过期了,okhttp会从互联网获取我们需要的信息,而不是我们本地缓存的过时信息?

  2. okhttp能否判断服务器端是否有更新信息,所以即使本地缓存的日期没有过期,它仍然可以从互联网而不是本地缓存中自动获取最新信息?

【问题讨论】:

    标签: android caching okhttp


    【解决方案1】:
    1. 是的。 OkHttp 的响应缓存遵循RFC 7234,它有丰富的选项来配置响应的生命周期。客户端或服务器可以指定响应的最长期限。

    2. 是的。使用 CacheControl.FORCE_NETWORK 标头来解决可能过时的缓存响应。

    【讨论】:

      猜你喜欢
      • 2017-05-09
      • 2022-01-23
      • 1970-01-01
      • 2019-12-25
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      相关资源
      最近更新 更多