본문으로 바로가기

[JSP]리다이렉트와 포워딩

category 프로그래밍/JSP 2018. 2. 3. 16:08
728x90
반응형

 JSP를 사용하다보면 리다이렉트와 포워딩이란 말을 많이 듣게됩니다.


굳이 JSP가 아니더라도 이러한 용어들을 많이 들어보게 되는데, 이 용어에 대해 한번 파헤쳐봅시다.


리다이렉트와 포워딩의 가장큰 차이는 페이지 이동의 차이라고 보시면됩니다.


자세한건 밑에서 설명 드리겠습니다.


 

 

 



1. 리다이렉트


웹브라우저(클라이언트)와 웹컨테이너(서버)가 있습니다.


리다이렉트의 경우 웹브라우저에서 웹컨테이너로 요청을 하면, 바로 응답을 주지않고, 새로운 URL에 대한 정보를 줍니다.


HTTP 같은 경우 302 응답을 줍니다.


그러면 웹브라우저는 그 정보를 가지고 새로운 URL로 요청을 한 후, 필요한 정보를 받습니다.


쉽게 말하면, 서버에서 이 요청에 대한 응답은 다른페이지에 있다! 라고 하는 겁니다.


리다이렉트를 사용하게 되면, 요청, 응답에 대한 객체는 초기화가 됩니다. 


즉, 처음의 페이지말고 다른페이지에 대한 요청이 필요하기 때문에, 처음 페이지에게 전송한 request등에 대한 정보는 사라집니다.


 

 

 



2. 포워딩


웹브라우저(클라이언트)와 웹컨테이너(서버)가 있습니다.


포워딩의 경우 웹브라우저에서 웹컨테이너로 요청을 하면, 리다이렉트와 다르게 웹컨테이너 자체에서 처리를 한 후, 웹브라우저가 요청한 응답을 줍니다.


리다이렉트처럼 재전송이 발생하지 않기 때문에, request 나 각종 정보들도 그대로 유지가됩니다.


 

 



위의 방식으로 봤을 때, 속도는 포워딩 >>>>> 리다이렉트 입니다.


그러나 속도로 판단을 하면 안되고, 어디에 적용하느냐에 따라서 필요한 방식을 사용하는 것이 가장 좋습니다.


이상입니다.




728x90
반응형