Search
Write a publication
Pull to refresh

Как OkHttp-клиент выполняет сетевой запрос под капотом

основные Interceptor-ы OkHttp. Взято из блога: https://t.me/dolgo_polo_dev/144
основные Interceptor-ы OkHttp. Взято из блога: https://t.me/dolgo_polo_dev/144

Коротко:

OkHttp-клиент — самый популярный сетевой клиент на Android, поверх которого часто используют Retrofit

Главное — он умеет много всего из коробки:

  • записывать/читать кэш, управлять им с помощью хэдера cache-control

  • управлять cookie и разруливать их атрибуты

  • устанавливать соединение по http1 и http2 (а по http3 нет, завидуем iOS-разработчикам)

  • выбирать сеть, по которой будет выполнен запрос

  • работать с DNS и направлять трафик через Proxy

  • поддерживает разные виды сжатия трафика

  • выполнять сам запрос, то есть как раз передавать байты по интернету. при этом "движок", выполняющий запрос, можно подменить

А возможно это все благодаря Interceptor-ам — цепочке колбеков, позволяющих прочитать/изменить запрос и ответ

Вы можете написать кастомные Interceptor-ы и добавить их в список appInterceptor-ов или networkInterceptor-ов

Или можете залезть в исходники OkHttp и посмотреть на его стандартные Interceptor-ы, в которых как раз и реализована вся вышеперечисленная магия

На картинке:

  • отличия между appInterceptor-ами или networkInterceptor-ами

  • стандартные OkHttp Interceptor-ы и их роль

остальные посты о сети и сетевых клиентах - @dolgo_polo_dev

Tags:
Total votes 3: ↑2 and ↓1+3
Comments0

Articles