HttpServletResponse : Redirect, Dispatch

서희찬·2023년 10월 23일
0

웹프로그래밍

목록 보기
9/30
post-custom-banner

Redirect, Dispatch 순으로 한번 확인해보자

Redirect란?

  • 브라우저에서 작업
  • 다른 주소(url)로 이동 : 브라우저에 주소를 전송한 후 해당 url로 이동함
  • Response 객체의 쓰기 작업을 한 후에 sendRedirect()를 할 수 없음
  • sendRedirect()의 매개변수로 URL(String 객체)를 사용
  • 브라우저의 URL이 변화가 됨(주소가 변경됨)

Redirect 과정 톺아보기

  1. 브라우저 주소 창에 URL을 입력하고 서버/컨테이너로 요청이 날아간다
  2. 서블릿은 요청을 다른 URL로 보내야 하는것을 간파한 다음 Response 객체의 sendRedirect() methoed들을 호출한다.
  3. HTTP Response에는 상태 헤더 코드에 301값과 Location Header에 새로운 URL값을 포함한다
  4. 브라우저는 응답을 받아 Location값을 확인한 후 해당 URL로 새로운 요청을 날리고 주소창의 값이 바뀐다.
  5. 서버/컨테이너로 요청이 날라가고 응답을 해줘서 화면에 값이 뜬다.

디스패치 (Dispatch)

  • 서버에서 작업
  • 서버내의 다른 주소(서블릿 등)으로 이동
  • 브라우저의 URL 변화가 없음

Dispatch 톺아보기

  1. 브라우저에 url을 입력하고 서블릿이 보기에는 이 요청은 웹어플리케이션의 다른 컴포넌트가 처리해야한다고 판단하여 Dispatch코드를 실행한다.
  2. JSP는 이를 받아 응답을 해준다.

이와 같이 Redirect와 Dispatch의 차이이이고 유의해야하는것은

리다이렉트는 sendRedirect() method를 호출한다면 Disaptch는 다른 컴포넌트가 처리해야한다고 판단하여 디스패치 코드를 실행하고 jsp에 제어를 넘겨준다.,

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)
post-custom-banner

0개의 댓글