본문 바로가기
코딩 공부/web & Java

[Web] Forward와 Redirect

by 현장 2022. 11. 5.

Forward

웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인할 수 없습니다. 또한 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 Request 객체와 Response 객체를 공유합니다. 

https://mangkyu.tistory.com/51

위와 같이 Foward는 다음으로 이동 할 URL로 요청정보를 그대로 전달합니다. 그렇기 때문에 사용자가 최초로 요청한 요청정보는 다음 URL에서도 유효합니다. 따라서 시스템에 변화가 생기지 않는 단순 조회 요청(글 목록 보기, 검색)의 경우 forward로 응답하는 것이 좋습니다.


Redirect 방식

Web Container로 명령이 들어오면, 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내립니다. 그러면 웹 브라우저는 URL을 지시된 주소로 바꾸고 해당 주소로 이동합니다. 다른 웹 컨테이너에 있는 주소로 이동하며 새로운 페이지에서는 Request와 Response객체가 새롭게 생성됩니다.

https://mangkyu.tistory.com/51

최초 요청을 받은 URL1에서 클라이언트에게 redirect할 URL2를 반환하고, 클라이언트에서는 새로운 요청을 생성하여 URL2에 다시 요청을 보냅니다. 그러므로 처음 보냈던 최초의 Request와 Response 객체는 유효하지 않고 새롭게 생성됩니다. 따라서  시스템에 변화가 생기는 요청(회원가입, 글쓰기 등)의 경우에는 redirection을 사용하는 것이 바랍직합니다.

 

 

 

'코딩 공부 > web & Java' 카테고리의 다른 글

[Java] HttpServletRequest와 HttpServletResponse  (0) 2022.11.11
[Web] MVC패턴  (0) 2022.11.10
[Java] Servlet  (0) 2022.11.04
[Web] 브라우저 렌더링  (0) 2022.11.01
[JSP] Java Bean  (0) 2022.10.17