Заметки бизнес-аналитика
Главная › Системный анализ › Интеграции и REST API

Идемпотентный метод — глоссарий MDN

Конспект статьи. Автор оригинала: MDN Web Docs

Метод идемпотентен, если один и тот же запрос, выполненный один или несколько раз подряд, оказывает на состояние сервера тот же эффект, что и один запрос.

Суть

Речь о состоянии сервера, а не о коде ответа. Первый DELETE вернёт успех, повторный — «не найдено», но удаление произошло один раз, поэтому метод идемпотентен.

Какие методы

  • GET, HEAD, PUT, DELETE, OPTIONS — идемпотентны при корректной реализации.
  • POST — нет: каждый вызов может создать новую запись.
  • Все безопасные методы одновременно идемпотентны.
DELETE /orders/42  → 200 OK
DELETE /orders/42  → 404 Not Found   (эффект тот же — заказа нет)

Выводы

  • Идемпотентность позволяет безопасно повторять запросы при сбоях сети.
  • Операцию «удалить последнюю запись» не стоит делать через DELETE — результат зависит от текущего состояния.
  • Идемпотентность обеспечивает сервер, а не протокол.
  • Для POST на практике используют ключ идемпотентности от клиента.
Источник: Идемпотентный метод — глоссарий MDN
Автор: MDN Web Docs
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.