본문 바로가기

스프링/MVC

Spring MVC - 포워드와 리다이렉트 forward , redirect

포워드와 리다이렉트 개념은 헷갈릴 여지가 있다.

 

사용자 입장에서 봤을 때 결국 request를 주고 response를 받는거니까 큰 차이를 못느낄수 있다.

 

하지만, 포워드와 리다이렉트는 정말 중요한 개념으로 글쓰기 중복, 회원 중복 가입등의 오류가 생길 수 있다.. 물론 DB차원에서 LOCK이 있다면 문제없겠지만,, 

 

리다이렉트와 포워드는 http 헤더를 확인해보면 status값이 다르다

리다이렉트의 경우에는 303.. 기타 위치보기이다, 즉 다른 위치로 옮겨갔으니까 그 위치를 찾아보라고 클라이언트에 직접 조회권을 넘겨주는 것.

 

 

그림으로 설명하는 편이 빠르다.

 

 

<포워드>

사용자가 리퀘스트를 날리면 서블릿이 이를 받아서, 컨트롤러로 던지고, 컨트롤러에서 여러 비지니스 로직을 거쳐서 view형태로 렌더링해서 response에 담아 던지는 과정은 일반적인 포워드 과정이다.

 

request나 response의 정보가 변하지 않는다.

 

 

<리다이렉트>

 

 

 

'스프링 > MVC' 카테고리의 다른 글

Spring MVC - DTO, VO, DAO 에 대한 간단 명료한 정리.  (0) 2022.01.03