코딜기

[JSP] Redirect VS Forward (페이지 전환) 본문

Web Programing/Spring

[JSP] Redirect VS Forward (페이지 전환)

코딜기 2024. 10. 2. 11:56
반응형

Redirect VS Forward (JSP 환경)

  • Redirect : 클라이언트가 다른 URL로 이동하며, 새로운 Request-Response 사이클이 시작됩니다. 따라서 이전 Request와 Response는 유지되지 않습니다.
    1. 고객이 123번으로 상담원에게 전화한다.
    2. 상담원은 고객에게 “해당 문의는 124번으로 다시 문의해 달라”라고 안내한다.
    3. 고객은 124번으로 다시 문의하여 문제를 해결한다.
  • Forward : 서버 내에서 다른 페이지로 이동하며, 같은 Request-Response 사이클을 유지합니다. 이전 Request와 Response 데이터는 그대로 전달됩니다.
    1. 고객이 123번으로 상담원에게 전화한다.
    2. 상담원이 문의 사항을 다른 상담원에게 넘겨서 해결 방법을 찾는다.
    3. 다른 상담원은 고객에게 답변을 제공한다.

Forward 동작 원리

  • Forward는 웹 컨테이너 내에서 다른 페이지로 이동하며, 클라이언트(브라우저)에는 이동된 URL 정보가 표시되지 않습니다.
  • 동일한 웹 컨테이너 내에서만 이동이 가능하고, 요청(Request)과 응답(Response) 객체는 이동된 페이지에서도 공유됩니다.
  • 이는 클라이언트가 처음 요청한 정보를 그대로 전달하는 방식이며, 브라우저는 처음 URL만 인식합니다.
  • 이렇게 Forward는 동일한 요청 정보를 유지하며 페이지 간 이동을 처리합니다.

Redirect 동작 원리

  • Redirect는 클라이언트에게 새로운 페이지로 이동하라는 명령을 보내며, 이전 요청과 응답은 사라지고 새로운 요청-응답 사이클이 시작됩니다.
  • 브라우저는 새로운 URL로 이동하고, 웹 컨테이너가 새 요청을 처리합니다.
  • RequestResponse 객체는 새로 생성되며, 이전 정보는 유지되지 않습니다.
  • 다른 웹 컨테이너로의 이동도 가능합니다.

Redirect vs Forward 요약

  • URL 변화 여부
    • Redirect는 URL이 변경되고 새로운 요청-응답 사이클이 시작됨.
    • Forward는 URL이 변하지 않고 동일한 요청-응답 사이클 유지.
  • 객체 재사용 여부
    • Redirect는 새롭게 요청과 응답이 생성됨.
    • Forward는 기존의 요청, 응답 객체가 재사용됨.
  • 시스템 변경(로그인, 회원가입 등)에는 Redirect, 단순 조회(리스트 보기, 검색)에는 Forward를 사용하는 것이 바람직합니다.

출처https://doublesprogramming.tistory.com/63

반응형
Comments