Проверяет понимание спецификации HTTP и допустимости использования тела запроса в GET-запросах.
Согласно спецификации HTTP/1.1 (RFC 7231), GET-запрос предназначен для получения ресурса, а его семантика подразумевает, что тело запроса не имеет смысла. Формально протокол не запрещает включать тело в GET, но на практике это крайне ненадёжно.
const express = require('express');
const app = express();
// GET с телом — нестандартно
app.get('/data', (req, res) => {
console.log('Body:', req.body); // undefined, если нет middleware
res.send('OK');
});
// POST — правильный способ
app.post('/data', (req, res) => {
console.log('Body:', req.body);
res.send('OK');
});
app.listen(3000);Как видно, без специального парсера тело GET не будет доступно. Даже если вы добавите middleware, это не гарантирует работу через прокси.
Не стоит отправлять тело в GET-запросе. Используйте POST, PUT или PATCH для передачи данных в теле, а GET — только для получения ресурсов без побочных эффектов. Это обеспечит совместимость и предсказуемость вашего API.
Уровень
Рейтинг:
3
Сложность:
3
Навыки
Node.js
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию