Каково назначение основных методов HTTP-запросов (GET, POST, PUT, PATCH, DELETE)

Ответ

Основные методы HTTP определяют действие, которое клиент хочет выполнить над ресурсом на сервере. Их правильное использование является основой для построения RESTful API.

Ключевые свойства методов:

  • Безопасный (Safe): метод не изменяет состояние ресурса на сервере. К таким методам относятся GET и HEAD.
  • Идемпотентный (Idempotent): многократное повторение одного и того же запроса приводит к тому же результату, что и одиночный запрос. GET, PUT, DELETE являются идемпотентными.

Основные методы:

  • GET

    • Назначение: Запрос на получение ресурса. Данные передаются через URL-параметры.
    • Свойства: Безопасный, идемпотентный.
    • Пример: Получение списка товаров, загрузка веб-страницы.
  • POST

    • Назначение: Создание нового ресурса. Данные передаются в теле запроса.
    • Свойства: Не является идемпотентным (повторный запрос создаст еще один ресурс).
    • Пример: Регистрация пользователя, отправка сообщения в чат.
  • PUT

    • Назначение: Полное обновление (замена) существующего ресурса. Если ресурс не существует, он может быть создан.
    • Свойства: Идемпотентный (повторное обновление теми же данными даст тот же результат).
    • Пример: Обновление профиля пользователя, заменяя все его поля.
  • PATCH

    • Назначение: Частичное обновление существующего ресурса. В теле запроса передаются только изменяемые поля.
    • Свойства: Не является идемпотентным по определению, хотя может быть реализован как таковой.
    • Пример: Изменение только имени пользователя, не затрагивая другие поля.
  • DELETE

    • Назначение: Удаление ресурса.
    • Свойства: Идемпотентный (повторное удаление уже удаленного ресурса вернет тот же статус, например, 404 Not Found).
    • Пример: Удаление статьи или комментария.