은은하게 코드 뿌시기

JSP forward / Redirect 차이 - 서버에서 클라이언트에게 응답하는 방식 본문

웹/JSP

JSP forward / Redirect 차이 - 서버에서 클라이언트에게 응답하는 방식

은은하게미친자 2022. 7. 14. 14:55
728x90

 

forward redirect (sendRedirect)
특정 주소를 공개 하고싶지 않은 정보를 사용하거나 조회할때 사용 클라이언트의 요청에 의해
서버에 db변화가 생기는 작업을 할때 사용
URL 변화 X
객체 재사용 O
요청정보가 유지된다.
JSP 액션 태그
페이지 전환주체 : 서버
URL 변화 O
객체 재사용 X
새로운 요청이 수행된다
JSP 내장 객체 
페이지 전환주체 : 클라이언트
최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인 할 수없습니다.

다음으로 이동한 URL로 요청정보를 그대로 전달한다. 
그렇기 때문에 사용자가 최초로 요청한 요청정보는 다음 URL에서도 유효하다.


*웹 컨테이너 차원에서 페이지 이동, 실제로 웹 브라우저는 다른 페이지로 이동햇는지 알 수 없다.
*웹 브라우저는 최초 호출한 url만 표시되고, 이동한 페이지의 url 정보는 볼 수 없다.
*동일한 web container 에잇는 페이지로만 이동이 가능하다.

* 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 request, response객체를 공유한다.
URL을 다시킨다 라는 뜻, 요청한 URL 에서 다른URL로 재접속 하라고 명령을 보내는 것

redirect의 경우 최초 요청을 url1에서 클라이언트에 redirect할 URL2를 리턴하고, 클라이언트에게 전혀 새로운 요청을 생성하여 URL2에 다시요청을 보낸다. 따라서 처음 보냈던 최초의 요청정보는 더이상 유효하지 않게된다.


* 웹컨테이너는 reirect 명령이 들어오면 웹브라우저에게 다른 다른페이지로 이동하라는 명령을 내린다.
* 웹 브라우저는 url을 지시된 주소로 바꾸곻 그 주소로 이동한다.
* 다른 web container 에 있는 주소로 이동이 가능하다.
* 새로운 페이지에서는 request, response객체가 새롭게 생성된다.

* 내장객체/내부객체 (Implicit Object) : jsp 페이지를 작성할 때 특별한 기능을 제공하는 JSP  컨테이너가 제공하는 특별한 객체(변수!)를 말한다.

728x90
Comments