Есть ли тело у метода GET

Ответ

Метод GET может иметь тело запроса, но согласно стандарту HTTP/1.1 (RFC 7231), серверы могут его игнорировать. На практике большинство серверов и прокси не обрабатывают тело в GET-запросах.

Пример с fetch:

fetch('/api/data', {
  method: 'GET',
  body: JSON.stringify({ param: 'value' }), // Не рекомендуется
  headers: {
    'Content-Type': 'application/json'
  }
});

Лучше передавать данные через URL-параметры (?key=value) или заголовки. POST/PUT - более подходящие методы для передачи тела.

Ответ 18+ 🔞

Да ты посмотри, какой прикол-то! Сидят эти умники, пишут на своих реактах, и вдруг — бац! — суют тело в GET-запрос. Ну, типа, «а чё такого-то? fetch позволяет!».

Ага, позволяет, блядь! Как в том анекдоте: «Можно, но нужно ли?». По стандарту, этот самый RFC 7231, сервер имеет полное право взять и проигнорировать твоё тело, как назойливую муху. И большинство так и делает, ёпта! Прокси, балансировщики — все эти ребята могут просто отрезать твои драгоценные данные, и привет, чувак.

Смотри, какой код подсовывают, хитрожопые:

fetch('/api/data', {
  method: 'GET',
  body: JSON.stringify({ param: 'value' }), // Не рекомендуется
  headers: {
    'Content-Type': 'application/json'
  }
});

Видишь эту строчку? «Не рекомендуется». Это они мягко сказали, блядь. На самом деле это «делай так, если хочешь, чтобы всё накрылось медным тазом». Сервер тебе может ответить: «Чё за хуйню ты мне прислал?», а то и вообще проигнорирует.

Вот честно, зачем выёбываться? Есть же нормальные, человеческие способы. Хочешь данные передать — вперёд:

  1. URL-параметры, ёбушки-воробушки: ?param=value&name=Петрович.
  2. Заголовки, если очень секретно.
  3. А если данных овердохуища, или они сложные — бери POST или PUT. Они для этого и придуманы, блядь!

А то получится, как с Герасимом: «Муму!» — а ему в ответ тишина, потому что сервер его тело не услышал. И стоило ли огород городить? В рот меня чих-пых!

Короче, вывод простой: не умничай, иди проверенными путями. GET — для получения, POST/PUT — для отправки данных. И будет всем счастье, а не волнение ебать, где же твой запрос потерялся.