1. redirect
- 리다이렉트는 http프로토콜로 정해진 규칙
- 서버는 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청할 수 있다. = redirect
- 서버에서는 클라이언트에게 응답으로 상태코드를 302와 함께 이동할 URL정보를 lacation header에 담아 전송. 클라이언트는 서버로 부터 받은 상태값이 302이면 location헤더 값으로 재요청을 보내게 된다.
- 서블릿이나 jsp는 redirect하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect() 메소드를 사용
2. forward
- 웹 브라우저에서 Servlet1에게 요청을 보냄
- Servlet1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장
- Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 전송(forward)
- 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 |