Идемпотентный метод — глоссарий 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
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.
Автор: MDN Web Docs
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.