По порядку Middle Сеть: Retrofit и OkHttp обновлено

Путь запроса через цепочку OkHttp

Вопрос

Расставь звенья цепочки OkHttp в порядке, в котором через них проходит исходящий запрос.

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

Расставьте шаги по порядку стрелками.

  1. 1
    BridgeInterceptor (служебные заголовки, сжатие)
  2. 2
    CallServerInterceptor (запись запроса и чтение ответа)
  3. 3
    CacheInterceptor (ответ из кеша)
  4. 4
    Network-интерцепторы (addNetworkInterceptor)
  5. 5
    ConnectInterceptor (соединение)
  6. 6
    RetryAndFollowUpInterceptor (повторы и редиректы)
  7. 7
    Application-интерцепторы (addInterceptor)
Показать ответ и разбор

Коротко

Пользовательские application-интерцепторы стоят первыми, поэтому видят исходный запрос один раз. Дальше идут внутренние звенья OkHttp: повторы и редиректы, служебные заголовки, кеш, установка соединения.

Правильный порядок

  1. 1
    Application-интерцепторы (addInterceptor)
  2. 2
    RetryAndFollowUpInterceptor (повторы и редиректы)
  3. 3
    BridgeInterceptor (служебные заголовки, сжатие)
  4. 4
    CacheInterceptor (ответ из кеша)
  5. 5
    ConnectInterceptor (соединение)
  6. 6
    Network-интерцепторы (addNetworkInterceptor)
  7. 7
    CallServerInterceptor (запись запроса и чтение ответа)

Разбор

Пользовательские application-интерцепторы стоят первыми, поэтому видят исходный запрос один раз. Дальше идут внутренние звенья OkHttp: повторы и редиректы, служебные заголовки, кеш, установка соединения. Network-интерцепторы стоят после соединения и видят реальный запрос, а последним работает обмен данными с сервером. Ответ проходит цепочку в обратном порядке.

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

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