코딜기
[JSP] Redirect VS Forward (페이지 전환) 본문
반응형
Redirect VS Forward (JSP 환경)
- Redirect : 클라이언트가 다른 URL로 이동하며, 새로운 Request-Response 사이클이 시작됩니다. 따라서 이전 Request와 Response는 유지되지 않습니다.
- 고객이 123번으로 상담원에게 전화한다.
- 상담원은 고객에게 “해당 문의는 124번으로 다시 문의해 달라”라고 안내한다.
- 고객은 124번으로 다시 문의하여 문제를 해결한다.
- Forward : 서버 내에서 다른 페이지로 이동하며, 같은 Request-Response 사이클을 유지합니다. 이전 Request와 Response 데이터는 그대로 전달됩니다.
- 고객이 123번으로 상담원에게 전화한다.
- 상담원이 문의 사항을 다른 상담원에게 넘겨서 해결 방법을 찾는다.
- 다른 상담원은 고객에게 답변을 제공한다.
Forward 동작 원리
- Forward는 웹 컨테이너 내에서 다른 페이지로 이동하며, 클라이언트(브라우저)에는 이동된 URL 정보가 표시되지 않습니다.
- 동일한 웹 컨테이너 내에서만 이동이 가능하고, 요청(Request)과 응답(Response) 객체는 이동된 페이지에서도 공유됩니다.
- 이는 클라이언트가 처음 요청한 정보를 그대로 전달하는 방식이며, 브라우저는 처음 URL만 인식합니다.
- 이렇게 Forward는 동일한 요청 정보를 유지하며 페이지 간 이동을 처리합니다.
Redirect 동작 원리
- Redirect는 클라이언트에게 새로운 페이지로 이동하라는 명령을 보내며, 이전 요청과 응답은 사라지고 새로운 요청-응답 사이클이 시작됩니다.
- 브라우저는 새로운 URL로 이동하고, 웹 컨테이너가 새 요청을 처리합니다.
- Request와 Response 객체는 새로 생성되며, 이전 정보는 유지되지 않습니다.
- 다른 웹 컨테이너로의 이동도 가능합니다.
Redirect vs Forward 요약
- URL 변화 여부
- Redirect는 URL이 변경되고 새로운 요청-응답 사이클이 시작됨.
- Forward는 URL이 변하지 않고 동일한 요청-응답 사이클 유지.
- 객체 재사용 여부
- Redirect는 새롭게 요청과 응답이 생성됨.
- Forward는 기존의 요청, 응답 객체가 재사용됨.
- 시스템 변경(로그인, 회원가입 등)에는 Redirect, 단순 조회(리스트 보기, 검색)에는 Forward를 사용하는 것이 바람직합니다.
반응형
Comments