WEB/JSP / / 2021. 12. 22. 01:12

[JSP] 리다이렉트(Redirect)와 포워딩(Forwarding) 차이점

JSP 학습 초반에 리다이렉트, 포워딩 관련 개념을 잘 잡아놔야 할 듯하여 정리를 하게 되었다.

 

개념

  • 리다이렉트와 포워딩은 JSP 환경에서 주로 접하는 단어이다.
  • 현재 페이지에서 다른 페이지로 이동하는 페이지 전환 기능들이다.
  • 차이점은 페이지 이동이 어떻게 이루어지는가에 있다.

포워딩(Forwarding)

  • 웹 컨테이너(Web Container) 차원에서의 페이지 이동을 의미한다.
  • 웹 브라우저의 URL 정보는 변경되지 않으므로 클라이언트는 다른 페이지로 이동했는지 알 수 없다.
  • 클라이언트와 통신 없이 서버에서만 처리되는 것이어서 리다이렉트보다 좋은 성능을 보여준다.
  • 현재 페이지와 포워딩에 의해 호출된 페이지는 Request와 Response 객체를 공유한다.

리다이렉트(Redirect)

  • 웹 컨테이너(Web Container)는 sendRedirect() 메서드가 호출되어 리다이렉트(Redirect) 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다.
  • 해당 명령에 브라우저가 웹 컨테이너의 응답을 받은 후 다시 요청을 보내는 경우 새로운 URL을 포함한다.
  • 다른 웹 컨테이너에 있는 주소로 이동이 가능하다.
  • 새로운 페이지에서는 Request와 Response 객체가 새롭게 생성된다.
  • 추가적으로 발생하는 처리에 의해 포워딩보다는 성능이 느리다.

차이점

  • URL 변화 여부 (변화 됨 -> redirect, 변화 안됨 -> forward)
  • 객체 재사용 여부 (재사용 가능 -> forward, 재사용 불가 -> redirect)
반응형

'WEB > JSP' 카테고리의 다른 글

[JSTL] 컨트롤러에서 받아온 list를 <c:forEach> 안 쓰고 값 표현 방법  (0) 2022.01.14
[JSP] DBCP란  (0) 2022.01.03
[개념] DAO, DTO, VO 란?  (0) 2021.12.30
[JSP] 자바빈(JavaBean)이란?  (0) 2021.12.29
[JSP] GET 방식, POST 방식  (0) 2021.12.24
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유