Sobes.tech
Назад к вопросам
Senior
6

HTTP методы REST: какие есть, для чего каждый используется, какие идемпотентные, какие нет?

Компании, где спрашивали
Позитив Технолоджис

Ответ от нейросети

sobes.tech AI

Основные HTTP методы в REST и их назначение:

  • GET — получение ресурса. Идемпотентный и безопасный метод, не должен изменять состояние сервера.
  • POST — создание ресурса или выполнение операции. Не идемпотентный, повторный вызов может создавать дубликаты.
  • PUT — обновление или замена ресурса. Идемпотентный: повторный вызов с теми же данными не изменит результат.
  • PATCH — частичное обновление ресурса. Обычно идемпотентный, но зависит от реализации.
  • DELETE — удаление ресурса. Идемпотентный: повторное удаление того же ресурса не изменит состояние.
  • HEAD — получение только заголовков ресурса, без тела. Идемпотентный и безопасный.
  • OPTIONS — получение поддерживаемых сервером методов для ресурса.

Идемпотентные методы: GET, PUT, DELETE, HEAD, OPTIONS, PATCH (обычно).

Неидемпотентный метод: POST.

Пример:

  • GET /users/123 — получить пользователя с ID 123
  • POST /users — создать нового пользователя
  • PUT /users/123 — заменить данные пользователя 123
  • PATCH /users/123 — обновить часть данных пользователя 123
  • DELETE /users/123 — удалить пользователя 123

Идемпотентность важна для надёжности: если запрос повторяется (например, из-за сетевых сбоев), состояние сервера не изменится непредсказуемо.