06. Redirect vs Forward

CHOISUJIN·2023년 4월 28일
0
post-thumbnail

JSP환경에서 현재 작업중인 페이지에서 다른 페이지로 이동하는 두가지 방식의 페이지 전환 기능!!

리다이렉트 Redirect 포워드 Forward
페이지 전환 주체 클라이언트 서버
URL의 변화 여부 변화 O 변화 X
객체의 재사용 여부 재사용 X 재사용 O

🔅 Redirect 리다이렉트

: 서버에서 클라이언트에서 요청한 URL에 대한 응답에서 다른 URL로 재접속하라고 명령을 보내는 것 (Re-Direct -> URL을 다시 가리킨다)
즉, 클라이언트는 해당 URL로 다시 요청! 리다이렉트가 일어나면 URL 주소가 바뀌면서 다시 접속되는 것을 확인할 수 있어, 클라이언트 또한 리다이렉션이 일어났음을 알 수 있다.

** 클라이언트 : 웹브라우저

  • 페이지 전환 주체가 클라이언트 : 접속한 URL이 아닌 다른 URL로 직접 접속하는 방법
  • 사용자의 요청 정보가 바뀌어버림

    🌟⭐️
    리다이렉트는 클라이언트의 요청에 의해 서버의 DB에 변화가 생기는 작업에 사용된다!!!(로그인, 회원가입, 글쓰기) 예를 들어 DB 유저 테이블을 변경하는 회원가입과 같은 경우에는 리다이렉트가 사용되어야 요청을 중복해서 보내는 것을 방지할 수 있다.

🔅 Forward 포워드

: 서버 내부에서 일어나는 호출 -> 클라이언트의 URL에 대한 요청이 들어오면 해당 URL이 다른 URL로 포워딩 된 것이 확인되었을 경우 서버에서 포워딩된 URL의 리소스를 확인하여 클라이언트에 응답한다

  • 페이지 전환 주체가 서버 : URL 주소가 바뀌지 않고도 서버 내부의 동작을 통해 다른 응답을 클라이언트에 내려 줄 수 있다
  • 요청 정보는 그대로 유지한 채 서버 내부의 동작만 바뀜
  • 웹 브라우저에는 최초 호출한 URL만 표시되고, 이동한 페이지의 URL 정보는 볼 수가 없다.

    🌟⭐️
    포워드는 특정 URL에 대해 외부에 공개되지 말아야 하는 부분을 가리는데 사용하거나 조회를 위해 사용된다!!!(리스트보기, 검색)
    스프링의 경우, /WEB-INF에 있는 view에 대한 정보들이 외부에 직접 공개되지 말아야 할 때 내부에서 포워딩을 통해 /WEB-INF 경로를 가리키도록 한다. 예를 들어 sujin.com/96로 요청하면 sujin.com/WEB-INF/96을 응답하는 형식이다.

profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ

0개의 댓글