블로그

Post, Redirect, Get (PRG패턴) 본문

개발자 준비과정/Spring, SpringBoot, JSP

Post, Redirect, Get (PRG패턴)

하늘바람a 2024. 5. 2. 16:09
PRG패턴

 

 

웹 애플리케이션 개발 시 폼 제출 후 발생할 수 있는 문제를 해결하는 데 효과적인 패턴이다.

POST에 대한 결과를 다른 사용자와 공유하기 위해 사용된다.
 
POST → Redirect → GET 의 패턴을 권장하기에 줄여서 PRG라고 한다.
 

1. 사용자가 웹 폼을 작성하고 제출(POST 요청) 한다.
2. 서버는 폼 데이터를 처리한 후, 클라이언트를 다른 URL로 리다이렉트(Redirect) 한다.
3. 클라이언트는 리다이렉트된 URL로 GET 요청을 보낸다.  

 

PRG패턴 적용

 

 

예시

 

예를 들어, 게시글을 등록(POST)하는 요청을 보냈다면,
게시글 등록 후 해당 게시글이 다른 유저에게 보여지는 화면으로 redirect시키는 방법이다.
 

장점


새로고침 문제 해결: 사용자가 폼을 새로고침하더라도 중복 데이터 전송을 방지할 수 있다.
북마크/공유 가능: 리다이렉트된 GET 요청 URL은 북마크하거나 공유할 수 있다.
캐싱 가능: GET 요청은 캐싱될 수 있어 성능 향상을 기대할 수 있다.