Какова структура HTTP-запроса: методы, URL, headers и body?

Из чего состоит HTTP-запрос HTTP — сетевой протокол, предназначенный для передачи данных начинается с метода, например GET, POST, PUT или DELETE. содержит URL, включающий путь и параметры запроса указывает версию…

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

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

Из чего состоит HTTP-запрос HTTP — сетевой протокол, предназначенный для передачи данных начинается с метода, например GET, POST, PUT или DELETE. содержит URL, включающий путь и параметры запроса указывает версию HTTP, например HTTP/1.1 затем передаёт headers — пары ключ-значение с метаданными, такими как Content-Type и Authorization после пустой строки может располагаться body — необязательное тело запроса, часто используемое в POST и PUT в теле отправляются данные для сервера, например JSON или form-data применяется для обмена данными между клиентом и сервером по HTTP(S)

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

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

Из чего состоит HTTP-запрос

  • HTTP — сетевой протокол, предназначенный для передачи данных
  • начинается с метода, например GET, POST, PUT или DELETE.
  • содержит URL, включающий путь и параметры запроса
  • указывает версию HTTP, например HTTP/1.1
  • затем передаёт headers — пары ключ-значение с метаданными, такими как Content-Type и Authorization
  • после пустой строки может располагаться body — необязательное тело запроса, часто используемое в POST и PUT
  • в теле отправляются данные для сервера, например JSON или form-data
  • применяется для обмена данными между клиентом и сервером по HTTP(S)

Такая структура обеспечивает гибкую передачу команд и данных между клиентской и серверной сторонами.

Развёрнутый ответ

Основной ответ

HTTP-запрос представляет собой сообщение, которое клиент, например браузер, отправляет серверу для получения ресурса или выполнения операции. В него входят несколько основных элементов: метод, URL (Uniform Resource Locator), заголовки (headers) и необязательное тело (body).

  • С помощью метода задаётся тип выполняемого действия. Наиболее часто используются GET для получения ресурса, POST для передачи данных серверу, PUT для обновления ресурса, DELETE для удаления и PATCH для частичного обновления.
  • URL задаёт адрес нужного ресурса; в нём могут быть указаны протокол, путь и параметры запроса.
  • Headers — это пары ключ-значение, содержащие метаданные: тип передаваемого содержимого (Content-Type), данные аутентификации (Authorization), cookie, настройки кэширования и другие сведения.
  • Body используется не в каждом запросе. Как правило, POST, PUT и PATCH содержат данные, например JSON или форму, тогда как GET обычно отправляется без тела.

Что важно учитывать

  • В HTTP 1.1 в первой строке обязательно указываются метод и URL, например: GET /api/users HTTP/1.1
  • Заголовки необходимо оформлять корректно: они определяют поведение клиента и сервера. Например, Accept сообщает, какой формат данных ожидается клиентом.
  • Формат тела определяется заголовком Content-Type: это может быть JSON, XML, multipart/form-data для файлов и другие варианты.
  • В HTTP/2 и HTTP/3 общий принцип построения запроса сохранился, однако передача данных была оптимизирована за счёт мультиплексирования и сжатия заголовков.

Пример из практики

В рабочих проектах важно правильно настраивать заголовки для безопасности (CORS, CSRF токены), производительности (кэширование, gzip) и аутентификации (JWT в Authorization). Например, REST API в React 18 обычно применяет GET для получения ресурсов, а POST с JSON body — для их создания.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку