Карточка Middle Сеть: Retrofit и OkHttp обновлено

Кеширование в OkHttp

Вопрос

Как работает HTTP-кеш OkHttp?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Подключается Cache(directory, maxSize) в билдере клиента. Работает по заголовкам ответа (Cache-Control, ETag, Last-Modified): свежий ответ берётся из кеша без сети, устаревший проверяется условным запросом (304).

Ответ

Подключается Cache(directory, maxSize) в билдере клиента. Работает по заголовкам ответа (Cache-Control, ETag, Last-Modified): свежий ответ берётся из кеша без сети, устаревший проверяется условным запросом (304). Офлайн-режим можно сделать интерцептором с CacheControl.FORCE_CACHE. Для данных приложения надёжнее свой кеш в Room.

Разбор

Подключается Cache(directory, maxSize) в билдере клиента. Работает по заголовкам ответа (Cache-Control, ETag, Last-Modified): свежий ответ берётся из кеша без сети, устаревший проверяется условным запросом (304). Офлайн-режим можно сделать интерцептором с CacheControl.FORCE_CACHE. Для данных приложения надёжнее свой кеш в Room.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.