반응형
1. redirect - 리다이렉션
- 리다이렉트는 HTTP프로토콜로 정해진 규칙이다.
- 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청할 수 있다. 이를 리다이렉트라고 한다.
- 서버는 클라이언트에게 HTTP 상태코드 302로 응답하는데 이때 헤더 내 Location 값에 이동할 URL 을 추가한다. 클라이언트는 리다이렉션 응답을 받게 되면 헤더(Location)에 포함된 URL로 재요청을 보내게 된다. 이때 브라우저의 주소창은 새 URL로 바뀌게 된다..
- 클라이언트는 서버로부터 받은 상태 값이 302이면 Location헤더값으로 재요청을 보내게 된다. 이때 브라우저의 주소창은 전송받은 URL로 바뀌게 된다.
- 서블릿이나 JSP는 리다이렉트하기 위해 HttpServletResponse 클래스의 sendRedirect() 메소드를 사용한다.
2. forward - 포워딩
forward는 실행된 다음에도 url이 바뀌지 않는다.
- 웹 브라우저에서 Servlet1에게 요청을 보냄
- Servlet1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장
- Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 전송(forward)
- Servlet2는 Servlet1으로 부터 받은 HttpServletRequest와 HttpServletResponse를 이용하여 요청을 처리한 후 웹 브라우저에게 결과를 전송
다음과 같이 servlet2에 request와 response를 전달한다.
requestDispatehcer.forward(request, response);
반응형
'웹(Web) > 백엔드(Backend)' 카테고리의 다른 글
백엔드 로드맵 (0) | 2021.01.04 |
---|---|
파이썬 구글 이미지 크롤링(uh oh! keywords is a required argument, unfortunately all 20 could not be downloaded because some images were not downloadable. 0 is all we got for this search filter!) (3) | 2020.12.16 |
Intellij Spring JDBC시작하기 (4) | 2020.06.07 |
Maven이란? CoC이란? (0) | 2020.05.31 |
(Servlet/JSP) setCharacterEncoding, setContentType에서 한글깨짐 문제 해결(UTF-8) (0) | 2020.05.22 |