Что такое тело (body) HTTP-запроса и откуда оно берется?

«Что такое тело (body) HTTP-запроса и откуда оно берется?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тело HTTP-запроса (Request Body) — это часть запроса, которая содержит данные, отправляемые клиентом на сервер. Оно следует после заголовков (headers), отделяясь от них пустой строкой.

Тело используется в методах POST, PUT, PATCH для передачи полезной нагрузки (payload), например, JSON объекта пользователя или данных формы.

Формат тела определяется заголовком Content-Type:

Content-Type Формат тела Пример
application/json Структурированные данные в JSON {"name": "Alice", "active": true}
application/x-www-form-urlencoded Пары «ключ=значение» username=alice&password=secret
multipart/form-data Данные формы, включая файлы Используется для загрузки файлов.
text/xml или application/xml Данные в формате XML <user><name>Alice</name></user>

Пример RAW HTTP POST-запроса с телом в JSON:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 42

{
  "name": "Alice",
  "email": "alice@example.com"
}

В инструментах тестирования (Postman, код) тело запроса формируется разработчиком или тестировщиком в соответствии с API-контрактом.