Ответ
Тело запроса (request body) может присутствовать в следующих HTTP-методах:
- POST — для создания нового ресурса.
- PUT — для полной замены ресурса.
- PATCH — для частичного обновления ресурса.
- DELETE — редко, но спецификация допускает тело для передачи дополнительных параметров удаления.
Почему? Методы GET, HEAD, OPTIONS и TRACE семантически предназначены для получения информации о ресурсе, а не для передачи данных на сервер, поэтому тело запроса для них обычно не используется или игнорируется.
Пример POST-запроса с телом в формате JSON:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "Alice",
"email": "alice@example.com"
}
Best Practice: Всегда явно указывайте заголовок Content-Type (например, application/json) при отправке тела запроса.