У http.Client настраивают общий Timeout, Transport, политику redirects и cookie jar. Transport управляет соединениями, proxy и отдельными этапами ожидания.
Какие есть настройки у HTTP-клиента в Go?
У 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.