특정 URL에 접속 시, 이를 처리하는 서블릿 (java의 경우) 내에서 Redirect 혹은 Forward가 일어날 수 있다.
이 때, 기존에 작업중이던 페이지가 전환된다. 즉, 서버에 요청하기 전의 페이지에서 다른 페이지로 이동하게 된다.
이 때, 포워드는 서버 내에서 일어나는 페이지의 전환이다. 이 때, URL이 변할 수 있는데 이는, 요청을 받는 컨트롤러의 주소이다.
리다이렉트는 서버에서 클라이언트로 다른 페이지로 재요청하도록 하는 것이고, 클라이언트는 ㄱ렇게 지정된 페이지로 다시 요청을 하여 페이지가 전환된다.
redirect와 forward는 페이지 전환 주체가 다르지만, 결국 페이지가 전환된다.
그것이 클라이언트의 요청에 의해서라면 redirect, 서버 내에서 일어난다면 forward인 것이다.
즉, 이 두가지 방법은 페이지가 번쩍
하는 요청인 것이다.
반면, AJAX
와 같은 비동기 요청을 통해 페이지의 전환 없이
화면 내용을 바꿀 수 있는데, 이것은 서버로 부터 데이터를 받아옴으로써 가능하다. (이것이 REST
방식이다.)