425 Too Early ("слишком рано")

https://httpcat.ru/425
Это прямая ссылка на изображение со статусом. Вы можете скопировать и использовать её где угодно.
HTTP статус 425 — слишком рано

Описание

Код состояния 425 Too Early означает, что сервер отказывается обрабатывать запрос, так как он получен слишком рано — до завершения всех условий безопасной доставки. Это защита от преждевременной повторной отправки (например, при попытке восстановления соединения).

Основные характеристики:

  • Введён в RFC 8470, в контексте HTTP/2 и HTTP/3
  • Используется для предотвращения **повторной отправки небезопасных запросов** (например, POST) до завершения TLS handshaking и других проверок
  • Помогает избежать дублирования операций (например, двойная оплата, повторное создание ресурса)

Типичное использование:

POST /api/orders HTTP/2
Content-Type: application/json

{
    "item_id": 42,
    "quantity": 1
}

HTTP/2 425 Too Early
Content-Type: application/json

{
    "error": "Request was sent too early. Please retry."
}

Особенности заголовков:

  • Content-Type — если сервер возвращает сообщение об ошибке
  • Retry-After — может использоваться, если сервер рекомендует повторную попытку позже

Когда использовать:

  1. При повторной попытке запроса после сетевого сбоя или TLS-переподключения
  2. Для POST, PUT и других методов, где повтор может вызвать дублирование
  3. В системах, где важна **идемпотентность** и безопасность транзакций

Дополнительно:

  • Клиент должен повторить запрос позже, когда соединение будет полностью установлено
  • 425 защищает от атак на повторную отправку (replay attacks) в TLS
  • В браузерах и обычных API используется редко, но важно для безопасных сервисов

Документация: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/425


Похожие статусы

HTTP статус 400 — неправильный, некорректный запрос
400
неправильный, некорректный запрос

↑ Наверх