Какие есть настройки у HTTP-клиента в Go?

У http.Client настраивают общий Timeout, Transport, политику redirects и cookie jar. Transport управляет соединениями, proxy и отдельными этапами ожидания.

Короткий ответ

Что ответить на собеседовании

У http.Client настраивают общий Timeout, Transport, политику redirects и cookie jar. Transport управляет соединениями, proxy и отдельными этапами ожидания.

Подробный разбор

Ответ с пояснениями

У http.Client настраивают общий Timeout, Transport, политику redirects и cookie jar. Transport управляет соединениями, proxy и отдельными этапами ожидания.

Важны DialContext, TLSHandshakeTimeout, ResponseHeaderTimeout, IdleConnTimeout и лимиты idle/общих соединений на host. Контекст запроса задаёт дополнительный deadline. Клиент и Transport обычно переиспользуют; создание нового на каждый запрос мешает pooling. Тело ответа необходимо закрывать.

Источник: pkg.go.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее