425 Too Early ("слишком рано")
https://httpcat.ru/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
— может использоваться, если сервер рекомендует повторную попытку позже
Когда использовать:
- При повторной попытке запроса после сетевого сбоя или TLS-переподключения
- Для
POST
,PUT
и других методов, где повтор может вызвать дублирование - В системах, где важна **идемпотентность** и безопасность транзакций
Дополнительно:
- Клиент должен повторить запрос позже, когда соединение будет полностью установлено
- 425 защищает от атак на повторную отправку (replay attacks) в TLS
- В браузерах и обычных API используется редко, но важно для безопасных сервисов
Документация: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/425