Задать вопрос
@Lonesome101

Почему иногда для получения данных с сервера используется POST, а не GET?

Тело запроса также не передается, есть только ответ с какими-то данными с сервера
  • Вопрос задан
  • 236 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@rPman
Выбор типа http запроса get/post/put/delete это из http rest философии, которой мало кто в принципе пользуется и для простоты, разделяют get для получения ресурсов а post все что угодно, начиная с создания или к примеру поиска.

Обычно разработчикам тупо лень реализовывать что то сложнее и все складывают в POST. То что там пусто в полях, ничего страшного, это тоже сигнал, включая использование значений по умолчанию.

Единственное что можно помнить, что поисковые системы, точнее их роботы, стараются использовать POST запросы с осторожностью (или вообще не использовать), только чтобы изучать поисковые формы, и то, только для популярных фреймворков, чтобы минимально воздействовать на исследуемый ресурс (отлично помню байку про offline browser, пользователь попросил загрузить сайт, под своим логином, и он добросовестно прошелся по всем страницам и пронажимал на все кнопки, включая delete, удалив весь контент этого пользователя).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Потому что передаваемые данные могут быть опциональными и/или использоваться значения по умолчанию.
Ответ написан
Комментировать
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
GET не меняет состояния объекта
а POST - меняет

пример взятый с потолка:
GET /api/v1/entity/42/ - просто получить данные объекта (после запроса объект никак не меняется)
POST /api/v1/entity/42/updated/ - обновить данные объекта в соответствии с какой-то внутренней логикой (после запроса возможно изменение состояния) - в ответе получить обновленное


Так на уровне разрешений проще разграничивать группы пользователей, кто может выполнять запросы безопасные - типа GET/HEAD/OPTIONS, а кто - повышенные привилегии с POST/PUT/PATCH/DELETE и т.п.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы