[Spring] redirect와 forword의 차이

chael_lo·2022년 6월 20일
0

Spring

목록 보기
4/7

forword

서버에서 자체 포워딩을 하기 때문에 처음에 했던 요청을 그대로 서버내에서 포워딩해서 다른 요청으로 처리한다.
브라우저나 클라이언트 입장에서는 모른다.
Client입장에서 한번의 요청으로 결과물을 받아볼 수 있다.
Web Container의 내부에서 이동하기 때문에 request와 response 객체를 공유할 수 있다.

동작 방식

요청 -> 서버내에서 target URL로 요청전달 -> target URL에 대한 응답

  • Client가 Server에 Resource를 요청
  • Web Container(Tomcat, Jboss등)에 의해 기존URL 에서 요청한 URL로 forward

redirect

클라이언트로 실제 응답을 해주고, 클라이언트에서 그 응답을 읽어서 다시 서버로 요청한다.

동작 방식

요청 -> 302 응답 -> Location에 대한 요청 -> Location에 대한 응답

  • Client가 Server에 Resource를 요청
  • Server는 상태값 3XX과 Redirect 주소를 같이 보냄
  • Client는 새로운 주소값으로 다시 Resource를 요청
  • Server는 새로운 Resource를 응답

결론

객체를 재사용하거나 공유해야한다면 Forward를 사용하는 것이 좋다.
URL의 변화여부가 필요하다면 Redirect를 사용하는 것이 좋다.

profile
천천히 꾸준히

0개의 댓글