Я могу кешировать ответы по образцам, но не могу понять механизм кеширования, даже прочитав много статей на эту тему.В retrofit2 мы используем перехватчики и переписываем заголовки запросов.Пример кода,
@Throws(IOException::class)
override fun intercept(chain: Interceptor.Chain): Response {
var request = chain.request()
if (!isNetworkAvailable()) {
request = request.newBuilder().header("Cache-Control",
"public, only-if-cached, max-stale=" + 60 * 60 * 24).build()
return chain.proceed(request)
}
return chain.proceed(request)
}
Но мы манипулируем заголовками запросов, разве кеш не должен работать в соответствии с заголовками ответов?
И есть ли хорошая статья о механизме кэширования, включая полезные заголовки?
Спасибо.