1. redirect

- 리다이렉트는 http프로토콜로 정해진 규칙

- 서버는 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청할 수 있다. = redirect

- 서버에서는 클라이언트에게 응답으로 상태코드를 302와 함께 이동할 URL정보를 lacation header에 담아 전송. 클라이언트는 서버로 부터 받은 상태값이 302이면 location헤더 값으로 재요청을 보내게 된다.

- 서블릿이나 jsp는 redirect하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect() 메소드를 사용

 

2. forward

  1. 웹 브라우저에서 Servlet1에게 요청을 보냄
  2. Servlet1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장
  3. Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 전송(forward)
  4. Servlet2는 Servlet1으로 부터 받은 HttpServletRequest와 HttpServletResponse를 이용하여 요청을 처리한 후 웹 브라우저에게 결과를 전송

redirect와의 차이점

redirect는 클라이언트가 요청하면 서버에서 처리하고 url바뀌어서 다시 클라이언트에게 전송

forward는 요청을 서버에서 처리하고 또다른 서버로 한번 더 넘겨서 일 처리. url바뀌지 않음

 

 

'WEB > BoostCourse' 카테고리의 다른 글

부스트코스 서포터즈 2기 수료!  (0) 2020.04.02
[부스트코스]2_3 JSP  (0) 2020.03.20
[부스트코스]2_2 WEB UI 개발  (0) 2020.03.12
[부스트코스]2_1JavaScript  (0) 2020.03.11
[부스트코스]Servlet 이란?  (0) 2020.03.06

+ Recent posts