TGViewer
📚 ProTestingInfo 🔷 Канал по тестированию 📚 📚 ProTestingInfo 🔷 Канал по тестированию 📚 @protestinginfo · 14.9K subscribers
Post #5271 1.45K
Идемпотентность HTTP-методов простыми словами 🔄

Подписаться на нельзяграм и сам пост

https://www.instagram.com/p/DbP7Ui5DG_k/?igsh=MWc2N29oMndvczR6Mw==

Термин предложил математик Бенджамин Пирс. В IT это свойство операции, при котором повторное выполнение даёт тот же результат, что и однократное, не изменяя состояние сервера.

🏠 Простые примеры:
✅ Выключатель света: нажал 10 раз — свет всё равно выключен.
✅ Кнопка лифта: нажал 5 раз — лифт приедет 1 раз.
❌ Корзина товаров: нажал «добавить» 5 раз — получил 5 пицц (не идемпотентно!).

Как это работает в REST:

🔍 GET, HEAD, OPTIONS, TRACE
Безопасны и идемпотентны. Они только читают данные, не меняя состояние сервера.

📝 PUT (Обновление)
По стандарту идемпотентен: 10 запросов PUT /users/123 просто 10 раз обновят имя на «John».
⚠️ Нюанс: На некоторых платформах (например, «Викунья») PUT может создавать НОВЫЙ объект задачи/проекта при каждом запросе, если не передан ID. В этом случае он теряет идемпотентность!

🗑️ DELETE (Удаление)
Идемпотентен, но с подвохом в ответе:
1️⃣ Первый запрос: вернет 200 OK или 204 No Content (ресурс удален).
2️⃣ Второй запрос: вернет 404 Not Found (ресурса уже нет).
💡 Состояние сервера одинаковое (удалено), но статус-код меняется. Это нормально!

🛡️ POST (Создание)
По стандарту НЕ идемпотентен (создает дубликаты).
💡 Вынужденная идемпотентность: POST можно сделать идемпотентным программно. Например, при создании пользователя («Викунья») повторный запрос с тем же email не создаст дубль, а вернет ошибку 409 Conflict или данные существующего юзера.

Тест-кейсы, коллекцию и шаблоны по ссылке

https://t.me/protestinginfo/5158

✍️ А на твоих проектах POST делают идемпотентным? Делись опытом 👇

#QA #тестированиеПО#идемпотентность #собеседование #карьераВIT
  • 👍 18
  • ❤ 9
  • 🔥 5
More from @protestinginfo
  1. Sep 27, 2026🚀 Открытый бесплатный курс для тестировщиков «Что под капотом у ИИ» 29 сентября в 21:00 м…
  2. Sep 26, 2026photo post
  3. Sep 26, 2026КУДА РАЗВИВАТЬСЯ QA? 👇 У QA нет одной карьерной лестницы. Можно развиваться вглубь профес…
  4. Sep 23, 2026DoQA 4.3 (Titanium) — самый крупный релиз для автоматизированного тестирования Что внутри:…
  5. Sep 19, 2026Всем привет, на курсе по тестированию бэкенда возникла идея делиться знаниями про AI и MCP…
  6. Sep 17, 2026REST vs SOAP: как отвечать на собеседовании Главный вопрос по способам взаимодействия с AP…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →