Что отправляется в заголовках HTTP запроса

«Что отправляется в заголовках HTTP запроса» — вопрос из категории Сети, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP-заголовки передают метаданные между клиентом и сервером. Основные типы:

  1. Request Headers - отправляются клиентом:

    • User-Agent: информация о клиенте
    • Accept: допустимые типы контента
    • Authorization: данные аутентификации
    • Content-Type: тип тела запроса (для POST/PUT)
  2. Response Headers - возвращаются сервером:

    • Content-Type: тип возвращаемых данных
    • Set-Cookie: установка куки
    • Cache-Control: кэширование

Пример HTTP-запроса с заголовками:

req, _ := http.NewRequest("GET", "https://api.example.com", nil)
req.Header.Add("Authorization", "Bearer token123")
req.Header.Add("Accept", "application/json")

Заголовки передаются как пары ключ-значение и влияют на обработку запроса.