본문 바로가기
Web

sendRedirect / forward 방식

by hunbal 2023. 2. 22.
SMALL

sendRedirect와 forward는 서버측에서 클라이언트의 요청에 대한 처리 결과를 전달하기 위한 두 가지 방법입니다.

sendRedirect

클라이언트에게 다른 URL로 이동하도록 요청하는 메서드입니다. 이 메서드는 서버에서 클라이언트에게 새로운 요청을 보내도록 하여, 클라이언트가 다른 페이지로 이동하게 됩니다. 이 때, URL이 변경되므로 브라우저에서는 새로운 페이지를 요청하는 것으로 인식합니다. 따라서, 클라이언트의 요청과 서버의 응답은 두 번 발생하게 되며, 서버에서는 새로운 요청에 대한 처리를 해야 합니다.

response.sendRedirect("<http://example.com/newPage>");

 

forward

서버에서 클라이언트의 요청을 처리한 후, 다른 페이지로 데이터를 전달하여 클라이언트에게 응답하는 방식입니다. 이 때, 클라이언트는 이전의 URL을 유지한 상태에서 새로운 페이지의 내용을 받아볼 수 있습니다. 따라서, 클라이언트의 요청과 서버의 응답은 한 번 발생하며, 서버에서는 현재의 요청에 대한 처리를 완료한 후, 전달받은 데이터를 이용하여 다른 페이지를 출력합니다.

RequestDispatcher dispatcher = request.getRequestDispatcher("/newPage.jsp");
dispatcher.forward(request, response);

 

 

따라서, sendRedirect는 페이지 이동을 위해 새로운 요청을 생성하므로 속도가 느리지만, URL이 변경되어 브라우저에서 캐시를 이용하지 않아 최신 정보를 보여줄 수 있습니다.

반면, forward는 현재의 요청을 이용하여 데이터를 전달하므로 속도가 빠르지만, URL이 변경되지 않기 때문에 브라우저에서 캐시를 이용하여 최신 정보를 보여주지 못할 수 있습니다.

따라서, sendRedirect와 forward는 각각의 상황에 맞게 사용해야 하며, 적절한 방법을 선택하여 사용하는 것이 중요합니다.

 

 

forward / sendredirect

https://doublesprogramming.tistory.com/63 참고

 

 

Redirect VS, Forward (Redirect와 forward의 차이)

Redirect VS, Forward (Redirect와 forward의 차이) JSP환경에서 현재 작업중인 페이지에서 다른페이지로 이동하는 두가지 방식의 페이지 전환기능 사례를 통해 redirect와 forward의 차이점에 대해 감을 잡아보

doublesprogramming.tistory.com

 

 

'Web' 카테고리의 다른 글

서블릿 , JSP , 4가지 scope  (0) 2023.02.22
RESTful API  (0) 2023.02.22
요청객체 , 응답객체  (0) 2023.02.22
XMLHttpRequest  (0) 2023.02.07
Ajax  (0) 2023.02.07

댓글