Что такое payload в HTTP-запросе?

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

Ответ

Payload (полезная нагрузка) — это фактические данные, передаваемые в теле HTTP-запроса или ответа. В отличие от заголовков (headers), которые содержат метаинформацию, payload несёт основное содержимое, предназначенное для обработки сервером или клиентом.

Где находится payload? Метод HTTP Расположение payload
GET, HEAD, DELETE Обычно отсутствует. Данные передаются через параметры URL (query string).
POST, PUT, PATCH В теле запроса (body). Форматы: JSON, XML, form-data, plain text.
Ответ сервера (любой метод) В теле ответа. Чаще всего JSON или HTML.

Примеры payload:

  • POST-запрос на создание пользователя (JSON):
    {
      "username": "johndoe",
      "email": "john@example.com",
      "active": true
    }
  • Ответ сервера на успешный запрос:
    {
      "status": "success",
      "data": {
        "userId": 123,
        "createdAt": "2023-10-01T12:00:00Z"
      }
    }

Важно для тестирования API: Проверять валидность, структуру и содержимое payload как в запросах, так и в ответах.