PassFront
  1. PassFront
  2. База знаний
  3. HTTP и HTTPS

Какие методы HTTP существуют и что такое идемпотентность?

HTTP и HTTPS

Идемпотентный метод при повторном выполнении оставляет сервер в том же состоянии: GET, PUT, DELETE и HEAD идемпотентны, POST — нет; отсюда правила безопасных повторов запросов.

Основные методы

  • GET — чтение ресурса; к тому же safe: не меняет состояние.
  • POST — создание или операция; ни safe, ни идемпотентен: повтор создаст вторую сущность.
  • PUT — полная замена ресурса по известному URI: повтор даёт то же состояние.
  • PATCH — частичное обновление; идемпотентность формально не гарантирована.
  • DELETE — удаление: повтор вернёт 404, но состояние сервера уже не меняется.

Почему это важно

  • Клиенты и прокси вправе автоматически повторять идемпотентные запросы при таймаутах.
  • Оплату и создание заказов делают через POST с заголовком-ключом идемпотентности (Idempotency-Key), чтобы ретраи не дублировали операцию.

Коротко для собеседования

Идемпотентность отвечает на вопрос, можно ли безопасно повторить запрос: повтор PUT или DELETE не меняет итог, повтор POST создаст дубль. Поэтому GET никогда не должен менять состояние, а для платежей через POST нужен ключ идемпотентности.

Другие вопросы раздела