Ответ
В body можно передавать любые данные, включая бинарные (например, файлы), сложные структуры (JSON, XML) или большие объемы данных. В query-параметрах ограничения:
- Длина URL – браузеры/серверы имеют лимиты (~2000 символов)
- Типы данных – query-параметры всегда строки, сложные структуры нужно сериализовать
- Безопасность – query виден в URL, логируется, не подходит для sensitive data
Пример POST с JSON в body:
fetch('/api/data', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ user: 'admin', pass: 'secret' })
});То же через query (не рекомендуется!):
GET /api/data?user=admin&pass=secret