SYSTEM ATLASЗагрузка материала

PRG Pattern

Post/Redirect/Get

После POST выполняется redirect, предотвращая повторную отправку формы.

Простыми словами

Например, после отправки формы сервер сохраняет заказ и отвечает редиректом на страницу результата. Обновление браузера не повторит POST и не создаст второй заказ. Поэтому проверяют весь путь запроса от браузера до сервера и обратно - иначе локально правильное решение может ухудшить загрузку, совместимость или устойчивость страницы.

Пример от @Vibeclakr

Пример при разработке

После отправки формы сервер сохраняет заказ и отвечает редиректом на страницу результата. Обновление браузера не повторит POST и не создаст второй заказ.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «PRG Pattern», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «PRG Pattern» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«PRG Pattern» объясняет только часть происходящего в области «Веб-архитектура». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

IETF. HTTP Semantics. 2022. RFC 9110.

Первоисточник