419 Page Expired ("Срок действия страницы истек")

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

Описание

Код состояния 419 Page Expired (неофициальный, нестандартный код HTTP) используется некоторыми веб-фреймворками — например, Laravel — для обозначения того, что пользовательская сессия или CSRF-токен истекли.

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

  • Отсутствует в официальных спецификациях HTTP (RFC), но часто применяется на практике
  • Чаще всего означает, что сессия пользователя устарела, особенно при защите от CSRF-атак
  • В браузере может сопровождаться HTML-страницей с сообщением «419 | Page Expired»

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

POST /form-submit HTTP/1.1
Host: example.com
Cookie: session=abc123
X-CSRF-Token: expired-token

HTTP/1.1 419 Page Expired
Content-Type: text/html

<!DOCTYPE html>
<html>
  <body>
    <h1>419 | Page Expired</h1>
    <p>Your session has expired. Please refresh and try again.</p>
  </body>
</html>

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

  • Content-Type — может быть text/html или application/json, в зависимости от формата ошибки
  • Set-Cookie — может использоваться для очистки устаревшей сессии

Когда использовать (неофициально):

  1. Если сессия пользователя истекла, и форма больше не может быть безопасно отправлена
  2. При ошибке проверки CSRF-токена
  3. Если SPA или API-клиенту нужно явно обозначить «устаревший контекст запроса»

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

  • Код 419 **не входит в официальный стандарт HTTP** и может быть неправильно интерпретирован прокси, кэшем или библиотеками
  • На практике может быть заменён на 401 Unauthorized или 440 Login Timeout (в Microsoft IIS)
  • Если используется, его следует документировать и обрабатывать явно на клиенте

Документация: https://github.com/laravel/framework/blob/v11.19.0/src/Illuminate/Foundation/Exceptions/views/419.blade.php


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

HTTP статус 440 — тайм-аут входа в систему
440
тайм-аут входа в систему

↑ Наверх