Как сервер обрабатывает HTTP-запрос с пустым телом?

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

Ответ

Обработка пустого запроса зависит от реализации сервера и спецификации API.

Типичные сценарии:

Сценарий Возможный HTTP-ответ Причина
Сервер ожидает тело 400 Bad Request Нарушение контракта API.
Тело опционально 200 OK или 201 Created Запрос корректен (например, GET без тела).
Ошибка валидации 422 Unprocessable Entity Сервер понимает запрос, но данные невалидны.
Внутренняя ошибка 500 Internal Server Error Сервер не обработал крайний случай.

Пример пустого POST-запроса:

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

Что проверять при тестировании:

  1. Соответствует ли поведение документации API.
  2. Возвращаются ли понятные сообщения об ошибках.
  3. Не приводит ли пустой запрос к утечкам памяти или сбоям (нагрузочное тестирование).