PRG패턴 : Post / Redirect / Get 패턴의 약자로, 웹 애플리케이션에서 폼 제출 후 페이지 새로 고침이나 브라우저 뒤로 가기 등의 문제를 방지하기 위해 사용하는 디자인 패턴
- 일반적으로 멱등성이 보장되지 않는 POST요청에 사용한다
(멱등성 정의: 동일한 연산을 여러 번 수행하더라도 결과가 달라지지 않는 성질)
- ex. 사용자가 웹 페이지의 주문 버튼을 클릭하고, 새로고침을 수행하면 2번의 POST요청이 서버로 전달된다.
패턴
- POST : 사용자가 폼을 제출 -> 클라이언트가 서버에 POST 요청을 보냄 -> 서버는 요청 처리(데이터베이스 업데이트 혹은 다른 작업 수행)
- Redirect :서버는 POST 요청을 처리 -> 클라이언트에세 새로운 URL로 리디렉션하라는 응답을 보냄 -> 이 리디렉션은 클라이언트에게 302 Found 상태 코드와 함께 새로운 URL을 포함한 Location 헤더를 반환하여 수행
- GET : 클라이언트는 서버의 응답을 받아 새로운 URL로 GET요청을 보냄. 서버는 이 GET요청을 처리하여 최종 결과 페이지를 클라이언트에세 반환
✨ PRG 패턴은 멱등하지 않은 POST 요청을 멱등한 GET 요청으로 강제 전환시켜서 브라우저의 오작동(중복 제출)을 막는 방법이다
'cs(with 매일메일)' 카테고리의 다른 글
| [260213금] 페이지 교체 알고리즘에 대해서 설명해 주세요. (0) | 2026.02.19 |
|---|---|
| [260212목] GC알고리즘은 어떤 것이 있나요? (0) | 2026.02.19 |
| [260210화] 멀티 쓰레딩에 대해서 설명해 주세요. (0) | 2026.02.10 |
| [260209월] RDB에서 페이징 쿼리의 필요성을 설명해 주세요. (0) | 2026.02.09 |
| [260206금] 낙관적 락과 비관적 락에 대해 설명해주세요. (0) | 2026.02.06 |