본문 바로가기

Spring_SpringBoot/이론

Redriect vs Forward

프로젝트를 진행하면서 막연히 그냥 복붙만 하고 화면만 나오면 그냥 진행했다... 반성하자...

 

Redirect와 Forward

- 특정 URL 접속 시 리다이렉트 또는 포워드가 일어나게 되면 작업 중인 페이지가 전환된다. 리다이렉트와 포워드는

  페이지가 전환된다는 점에서 비슷한 역할을 하지만 페이지를 전환하는 주체가 다르다는 큰 차이점이 있다.

  리다이렉트는 페이지 전환 주체가 클라언트이며, 포워드는 페이지 전환 주체가 서버이다.

 

Redirect

 

 - 서버에서 클라이언트에서 요청한 URL에 대해 실행을 하고 서버 측에서 다른 URL로 재접속하라고 명령을 하는

   것이다. 웹 브라우저는 서버에서 Redirect를 하라는 응답코드인 300번대 코드가 오게 되면, 리다이렉트를 해야되는

   URL로 다시 요청을 보내는 역할을 한다.

 

Forward

 -  포워드는 서버 내부에서 일어나는 호출이다. 클라이언트의 URL에 대한 요청이 들어오면 해당 URL이 다른

     URL로 포워딩 된 것이 확인되었을 경우 서버에서 포워딩된 URL의 리소스를 확인하여 클라이언트에 응답한다.

 

그래서 언제 사용하는데?

 

Redirect

- 로그인 후 리다이렉션 : 사용자가 로그인 한 후, 메인 페이지나 대시보드로 이동할 때

- 외부 사이트 이동 : 특정 조건에 따라 외부 사이트로 이동해야 할 때

- 데이터에 대한 처리가 다시 이루어지지 않아도 될 때

 

Forward

- 서버 내 페이지 이동 : 요청을 서버 내의 다른 서블릿이나 JSP로 전달할 때

- 데이터 유지 : 포워드되는 동안 요청 객체에 데이터를 유지할 수 있기 때문에, 이를 통해 데이터를 전달하고

  새로운 페이지에서 사용할 수 있다.

 

'Spring_SpringBoot > 이론' 카테고리의 다른 글

[JSON] vs [XML]  (0) 2024.06.15
[ War ] vs [ Jar ]  (0) 2024.06.15
Filter, Interceptor  (0) 2024.06.11
[ System.out.println() ] VS [ logger.XXX ]  (0) 2024.06.11
@RequestMapping, @GetMapping, @PostMapping  (0) 2024.06.11