[부스트코스] DB 연결 웹앱, 27)redirect

sameul__choi·2020년 3월 25일
0

2. DB 연결 웹 앱

27)redirect


게시판 같은 곳에서 글을 작성하는 경우가 있습니다.

글을 모두 작성한 후에 글 작성 버튼을 클릭하겠죠?

이때 클라이언트가 서버에게 글을 작성해주세요 라는 요청을 보내게 됩니다.

서버는 해당 글을 저장한 후, 웹 브라우저에게 글 목록으로 이동하라고 응답을 보내게 됩니다.

웹 브라우저는 글 목록으로 이동하라는 서버의 요청을 받은 후, 자동으로 서버에게 글 목록을 요청하여 응답받아 출력하게 됩니다.

서버가 클라이언트에게 어떤 URL로 이동하라는 요청을 보내는 것을 리다이렉트라고 합니다.


리다이렉트란 ?

  • 리다이렉트는 HTTP프로토콜로 정해진 규칙입니다.
  • 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청할 수 있다. 이를 리다이렉트라고 합니다다.
  • 서버는 클라이언트에게 HTTP 상태코드 302로 응답하는데 이때 헤더 내 Location 값에 이동할 URL 을 추가합니다.
  • 클라이언트는 리다이렉션 응답을 받게 되면 헤더(Location)에 포함된 URL로 재요청을 보내게 된다. 이때 브라우저의 주소창은 새 URL로 바뀌게 됩니다.
  • 클라이언트는 서버로부터 받은 상태 값이 302이면 Location헤더값으로 재요청을 보내게 된다. 이때 브라우저의 주소창은 전송받은 URL로 바뀌게 됩니다.
  • 서블릿이나 JSP는 리다이렉트하기 위해 HttpServletResponse 클래스의 sendRedirect() 메소드를 사용합니다.

예제 동작 설명


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    response.sendRedirect("redirect02.jsp");
%>    

0개의 댓글