Продвинутый
Что такое Idempotency-Key и как он передается?
Idempotency-Key (Ключ идемпотентности) — это кастомный HTTP-заголовок (например, Idempotency-Key: 8a7b6c5d...), который делает небезопасные методы (POST, PATCH) идемпотентными.
Как работает:
1. Клиент генерирует уникальный UUID и шлет POST-запрос на оплату.
2. Сервер списывает деньги, сохраняет ответ в БД с привязкой к этому UUID и отдает 200 OK.
3. Если сеть моргнула, и клиент послал тот же POST-запрос с тем же UUID, сервер видит ключ в БД, не списывает деньги второй раз, а просто возвращает сохраненный ранее ответ 200 OK.
✅ Итог: Защита от двойных списаний при ретраях.