bboks.net™

JSP/Servlet 포워딩(forwading) vs 리다이렉트(redirect) 본문

Java/JSP | Servlet

JSP/Servlet 포워딩(forwading) vs 리다이렉트(redirect)

bboks.net 2010. 5. 20. 15:59

JSP/Servlet에서는 현재 작업중인 페이지에서 다른 페이지로 이동하는데 두 가지 방식을 가지고 있다.
포워딩(Forwarding)리다이렉트(Redirect)로 둘 다 다른 웹 페이지로 이동하지만 처리 형태가 다르다.

포워딩(Forwarding)
Web Container 차원에서 페이지 이동만 있다. 실제로 웹 브라우저는 다른 페이지로 이동했음을 알 수 없다. 그렇기 때문에, 웹 브라우저에는 최초에 호출한 URL이 표시되고 이동한 페이지의 URL 정보는 볼 수 없다. 동일한 웹 컨테이너에 있는 페이지로만 이동할 수 있다. 현재 실행중인 페이지와 Forwad에 의해 호출될 페이지는 request와 response 객체를 공유한다.




리다이렉트(Redirect)
Web Container는 Redirect 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다. 그러면 웹 브라우저는 URL을 지시된 주소로 바꾸고 그 주소로 이동한다. 다른 웹 컨테이너에있는 주소로 이동이 가능하다. 새로운 페이지에서는 request와 response객체가 새롭게 생성된다.



[출처] 포워딩(Forwarding)과 리다이렉트(Redirect)의 차이