책을 읽으면서 PRG 패턴이라는 개념을 보았다. 정리해보장! 🔥
PRG(POST-Redirect-GET) 패턴은 웹 개발 시에 권장되는 디자인 패턴으로, HTTP POST 요청에 대한 응답이 또 다른 URL로의 GET 요청을 위한 리다이렉트여야 한다는 것을 의미한다.
가장 큰 이유는 새로 고침으로 인해 동일한 HTTP POST 요청이 중복으로 발생할 수 있는 문제가 있다. 예를 들어, 결제나 이체 단계에서 매번 브라우저를 새로 고칠 때마다 같은 금액이 연달아 빠져나가는 현상이 발생할 수 있다. 따라서 PRG 패턴을 적용하여 POST 요청이 정상적으로 완료되면 바로 리다이렉트로 브라우저의 주소를 바꿔줘야 한다.
그 다음 문제는 HTTP POST 요청의 결과에 해당하는 페이지를 북마크 하거나 다른 사람과 공유하는 것이 어려워진다. 북마크는 특정 HTTP 요청의 URL만 저장하고, 다른 사람에게 페이지를 공유할 때도 URL만을 공유한다. 기본적으로 URL로는 GET 요청만 수행할 수 있어, 원치 않은 페이지로 이동하는 결과나 나타날 수도 있다.