Какие HTTP-методы являются идемпотентными, а какие нет?

Идемпотентность — это свойство операции, при котором многократное выполнение с одинаковыми параметрами даёт тот же результат, что и однократное.

Короткий ответ

Что ответить на собеседовании

Идемпотентность — это свойство операции, при котором многократное выполнение с одинаковыми параметрами даёт тот же результат, что и однократное.

Подробный разбор

Ответ с пояснениями

Идемпотентность — это свойство операции, при котором многократное выполнение с одинаковыми параметрами даёт тот же результат, что и однократное.

Идемпотентные HTTP методы:

  • GET — получение ресурса, не изменяет состояние сервера.
  • PUT — обновление ресурса, повторное выполнение с теми же данными не меняет результат.
  • DELETE — удаление ресурса, повторное удаление того же ресурса не изменит состояние (если ресурс уже удалён).
  • HEAD — аналог GET без тела, идемпотентен.

Неидемпотентные методы:

  • POST — создание ресурса или выполнение операции, повторный вызов может создавать дубликаты или изменять состояние.
  • PATCH — частичное обновление, может быть неидемпотентным в зависимости от реализации.

Пример: если POST создаёт новый заказ, повторный POST создаст ещё один заказ, а PUT с тем же телом обновит существующий заказ без изменения результата.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее