PRG 패턴에 대해서 설명해 주세요.
분야: 백엔드
PRG 패턴 은 Post/Redirect/Get 패턴의 약자로, 웹 애플리케이션에서 폼 제출 후 페이지 새로 고침이나 브라우저 뒤로 가기 등의 문제를 방지하기 위해 사용하는 디자인 패턴입니다. 일반적으로 멱등성이 보장되지 않는 POST 요청에 사용합니다. 예를 들어, 사용자가 웹 페이지에서 주문 버튼을 클릭하고 새로고침을 수행하면 2번의 POST 요청이 서버로 전달되는데요. 이러한 상황에서 PRG 패턴이 주로 사용됩니다.

출처 : 위키백과
PRG 패턴은 다음과 같은 단계를 따릅니다.
- 사용자가 폼을 제출하면 클라이언트는 서버에 POST 요청을 보냅니다. 서버는 이 요청을 처리하여 데이터베이스를 업데이트하거나 다른 작업을 수행합니다. (Post)
- 서버는 POST 요청을 처리한 후, 클라이언트에게 새로운 URL로 리디렉션하라는 응답을 보냅니다. 이 리디렉션은 클라이언트에게 302 Found 상태 코드와 함께 새로운 URL을 포함한 Location 헤더를 반환하여 수행됩니다. (Redirect)
- 클라이언트는 서버의 응답을 받아 새로운 URL로 GET 요청을 보냅니다. 서버는 이 GET 요청을 처리하여 최종 결과 페이지를 클라이언트에게 반환합니다. (Get)