Sobes.tech
Назад к вопросам
Middle
11

Расскажи про идемпотентность. Какие методы идемпотентны?

Компании, где спрашивали
IT1

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

sobes.tech AI

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

В контексте HTTP-методов идемпотентными считаются:

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

Пример:

PUT /users/123
{
  "name": "Иван"
}

Если выполнить этот запрос несколько раз подряд, пользователь с id 123 будет иметь имя "Иван" — результат не изменится после первого вызова.

В отличие от них, метод POST не является идемпотентным, так как обычно создаёт новые ресурсы при каждом вызове.