Идемпотентный метод — что это за зверь?

preview_player
Показать описание
Посмотрим на примере методов REST API, что такое идемпотентные запросы, и как один и тот же запрос можно сделать идемпотентным и нет
Рекомендации по теме
Комментарии
Автор

Так всё понятно объяснено! Вы очень круты 🔥

sofiyakhaliullina
Автор

По-моему, не то немного рассказываете. Идемпотентность не требует, чтобы метод каждый раз возвращал одно и то же.
Идемпотентность смотрит только на состояние сервера, например, количество записей в БД. Если состояние сервера не меняется в зависимости от того, отправили мы 1 запрос или 100, то запрос идемпотентный. Так что PUT и DELETE это идемпотентные методы (если только на стороне сервера не поменять существенно их логику), как и все безопасные методы (read-only).

Определение из специкифации HTTP:
_A request method is considered "idempotent" if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request. Of the request methods defined by this specification, PUT, DELETE, and safe request methods are idempotent._

andyanderson