Web/기초
[WEB] redirect
hh_lin
2018. 12. 9. 20:31
redirect
∎ 리다이렉트는 http 프로토콜로 정해진 규칙이다.
∎ 서버는 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청할 수 있는데, 이를 리다이렉트라고 한다.
∎ 서버에서는 클라이언트에게 응답으로 상태코드 302와 함께 이동할 URL 정보를 Location 헤더에 담아 전송한다.
클라이언트는 서버로부터 받은 상태값이 302이면 Location 헤더 값으로 재요청을 보내게 된다.
이 때, 브라우저의 주소창은 전송받은 URL로 바뀌게 된다.
∎ 서블릿이나 jsp는 redirect하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect()메소드를 사용한다.
- redirect01.jsp
1 2 3 4 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% response.sendRedirect("redirect02.jsp"); %> | cs |
- redirect02.jsp
1 2 3 4 5 6 7 8 9 10 11 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> redirect된 페이지 입니다. </body> </html> | cs |
http://localhost:9090/firstWeb/redirect01.jsp로 URL을 요청하게 되면 아래와 같이 redirect02.jsp로 URL이 변경된 것을 볼 수 있다.
크롬 개발자도구의 Network 탭을 확인해보면 redierct01.jsp를 실행했을 때, 서버로부터 응답코드로 302를 받는 것을 확인할 수 있다.
참고자료