Проверяет понимание семантики HTTP-метода GET и причин, по которым тело запроса в нём считается нежелательным и потенциально опасным.
Метод GET определён в спецификации HTTP как безопасный и идемпотентный: он не должен изменять состояние сервера и может вызываться повторно без побочных эффектов. Исторически и по RFC 7231 тело в GET-запросе не имеет определённой семантики, и многие реализации просто игнорируют его или отбрасывают.
Даже если сервер на Node.js примет тело, промежуточный прокси может его срезать:
// Клиент отправляет GET с телом (плохая практика)
fetch('/search', {
method: 'GET',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ q: 'books' })
});
// Сервер Express
app.get('/search', (req, res) => {
// req.body будет undefined без body-parser,
// а с ним — зависит от клиента и прокси
res.json({ query: req.query });
});
GET /search?q=books&limit=10.POST /search.Итог: тело в GET-запросе технически возможно, но небезопасно и непереносимо. Применяйте GET только для чтения с параметрами в URL, а для передачи тела используйте POST или другие методы с определённой семантикой.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию