Ответ
Да, можно. Спецификация HTTP не требует обязательного наличия тела в POST-запросе, хотя он часто используется для передачи данных.
Почему это возможно:
- Метод HTTP определяется заголовком запроса, а не наличием тела.
- Заголовок
Content-Length: 0явно указывает на пустое тело.
Примеры:
- Сырой HTTP-запрос:
POST /api/process/start HTTP/1.1 Host: api.example.com Content-Length: 0 Authorization: Bearer token123 - Использование cURL:
curl -X POST https://api.example.com/action -H "Content-Length: 0" -H "Authorization: Bearer token123"
Типичные сценарии использования POST без тела:
- Запуск предопределённого процесса на сервере (например,
POST /jobs/cleanup). - Действия, где все параметры передаются через заголовки или URL.
- Реализации API, где определённый эндпоинт является «триггером».
Важно: Серверное приложение должно быть спроектировано на обработку таких запросов. В RESTful API POST-запросы без тела могут считаться неидиоматичными.