티스토리 뷰
redirect vs forward
Spring Boot 를 이용해서 프로그래밍을 하는 과정에서 페이지를 이동하는 두가지 방식이 있었다. 두 가지 방식을 간단하게 비교 정리해보려고 한다.
먼저 Forward 방식을 알아보자! Client가 로그인을 위한 요청을 Server에 보내면, LoginServlet에서 요청을 받고, 중복체크를 하는 부분은 CheckServlet에게
전달하여 처리하도록 한 다음에 CheckServlet이 요청에 응답을 하게 되어 있다. 로그인과 중복체크는 동일한 Web Container에서 처리되기 때문에 자원을
공유할 수 있다. 그리고 LoginServlet이 전달하는 부분이 Web Container에 있기 때문에 사용자 입장에서는 주소의 변화를 확인할 수 없다.
요약하자면, Forward 방식은 자원을 공유하고 전달하는 과정에서 주소를 변하지 않게 했을 때 사용한다.
Redirect 방식은 그림의 예가 적절하지는 않지만, LoginServlet에 요청을 하고, 처리결과를 Client가 받은 다음에 다시 CheckServlet에 요청을 하여 처리 결과를
받는 방식이다. 각각의 Servlet에 요청을 하기 때문에 주소의 변화를 확인할 수 있다. 그리고 WebContainer를 공유하지 않기 때문에 자원을 공유하지 않는다.
요악하자면, Redirect 방식은 자원을 공유하지 않고, 주소를 변하는 경우에 사용한다. 대체로 페이지의 이동을 했을 때는 자원을 전달할 필요가 없기 때문에
Redirect 방식이 더 적합하다고 생각한다.
'Spring Boot' 카테고리의 다른 글
Spring Boot + JPA Paging 처리 (0) | 2018.12.27 |
---|---|
HTTP & DNS & TCP 정의 및 동작원리 (0) | 2018.12.12 |
What is Ajax (Asynchronous Javascript And Xml) & 회원가입 (0) | 2018.12.10 |
스프링을 통한 의존성 주입 @Autowired vs @Resource vs <property> 태그 (0) | 2018.12.07 |
템플릿 엔진(Template Engine) & Mustache (0) | 2018.11.21 |