Post/Redirect/Get — підхід у веброзробці, який дозволяє уникнути проблеми повторного надсилання форми.

Проблема ред.

Якщо користувач заповнив вебформу та дані були відправлені на сервер із використання POST методу HTTP протоколу, то при отримані відповіді від сервера спроба перезавантажити сторінку призведе до повторного надсилання форми. Такий результат не бажаний, оскільки, це може призвести до повторної купівлі товару, повторного переказу грошей, тощо.

 
Діаграма, що демонструє проблему повторного надсилання форми

Варто зауважити, що більшість браузерів попереджають користувача про повторне відправлення форми.

Вирішення ред.

Щоб уникнути цієї проблеми POST (HTTP) метод повинний повертати не вебсторінку, а один із кодів перенаправлення 3XX на метод GET. Оскільки GET є ідемпотентним, перезавантаження сторінки не призведе до повторного надсилання форми. Щонайбільше, таку сторінку можна використовувати у якості закладки.

 
Діаграма, що демонструє розв'язання проблеми повторного надсилання форми із використанням Post/Redirect/Get

Посилання ред.