Назад к вопросам
Middle
11
Расскажи про идемпотентность. Какие методы идемпотентны?
Компании, где спрашивали
IT1
Ответ от нейросети
sobes.tech AI
Идемпотентность — это свойство операции, при котором многократное выполнение с одинаковыми входными данными приводит к одному и тому же результату, без побочных эффектов после первого вызова.
В контексте HTTP-методов идемпотентными считаются:
- GET — получение данных, не изменяет состояние сервера.
- PUT — обновление ресурса, повторное выполнение с теми же данными не изменит результат.
- DELETE — удаление ресурса, повторное удаление того же ресурса не изменит состояние (ресурс уже удалён).
- HEAD, OPTIONS — также считаются идемпотентными, так как не изменяют состояние.
Пример:
PUT /users/123
{
"name": "Иван"
}
Если выполнить этот запрос несколько раз подряд, пользователь с id 123 будет иметь имя "Иван" — результат не изменится после первого вызова.
В отличие от них, метод POST не является идемпотентным, так как обычно создаёт новые ресурсы при каждом вызове.