WEB

[WEB] PRG패턴

steadyMan 2021. 10. 11. 17:54

PRG(Post-Redicet-Get)패턴은 웹 개발시 사용 권장되는 디자인 패턴입니다. 

사용자의 뒤로가기, 새로고침으로 인한 중복입력을 방지할 수 있습니다.

EX) 상품주문

 

PRG패턴 적용 전


상품 주문 흐름도

사용자가 상품 주문 후 주문완료 페이지에서 새로고침을 수행한다면 

마지막 요청인 POST 주문입력 요청이 수행되게됩니다. 

이럴경우 사용자가 새로고침을 수행할 때 마다 DB에 입력되어 문제를 야기할 수 있습니다.

 

PRG패턴 적용


PRG패턴 흐름도

최초 상품주문 후 서버에서 주문조회 페이지에 대한 Redirect수행합니다.

이럴 경우 사용자가 주문완료 페이지에서 새로고침을 하더라도 마지막요청이 

상품조회 GET요청이기 때문에 주문이 아닌 주문조회 로직이 수행되게 됩니다.