По порядку Middle Сеть: Retrofit и OkHttp обновлено
Путь запроса через цепочку OkHttp
Вопрос
Расставь звенья цепочки OkHttp в порядке, в котором через них проходит исходящий запрос.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1BridgeInterceptor (служебные заголовки, сжатие)
- 2CallServerInterceptor (запись запроса и чтение ответа)
- 3CacheInterceptor (ответ из кеша)
- 4Network-интерцепторы (addNetworkInterceptor)
- 5ConnectInterceptor (соединение)
- 6RetryAndFollowUpInterceptor (повторы и редиректы)
- 7Application-интерцепторы (addInterceptor)
Показать ответ и разбор
Коротко
Пользовательские application-интерцепторы стоят первыми, поэтому видят исходный запрос один раз. Дальше идут внутренние звенья OkHttp: повторы и редиректы, служебные заголовки, кеш, установка соединения.
Правильный порядок
- 1Application-интерцепторы (addInterceptor)
- 2RetryAndFollowUpInterceptor (повторы и редиректы)
- 3BridgeInterceptor (служебные заголовки, сжатие)
- 4CacheInterceptor (ответ из кеша)
- 5ConnectInterceptor (соединение)
- 6Network-интерцепторы (addNetworkInterceptor)
- 7CallServerInterceptor (запись запроса и чтение ответа)
Разбор
Пользовательские application-интерцепторы стоят первыми, поэтому видят исходный запрос один раз. Дальше идут внутренние звенья OkHttp: повторы и редиректы, служебные заголовки, кеш, установка соединения. Network-интерцепторы стоят после соединения и видят реальный запрос, а последним работает обмен данными с сервером. Ответ проходит цепочку в обратном порядке.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.