-
Redirect와 Forward의 차이점WEB & CS 2023. 9. 29. 12:36
Redirect
- 페이지 전환의 주체가 클라이언트
- 클라이언트로 redirect 요청이 들어오면 클라이언트는 다른 url로 이동하라는 명령을 내린다.
- url을 지시된 주소로 바꾸고 그 주소로 이동한다.(url 변화 O)
- 다른 web container에 있는 주소로 이동이 가능하다.
- 페이지 이동 시, 새로운 request, response가 생성된다. (객체 재사용 X)

Forward
- 페이지 전환의 주체가 서버
- 페이지 이동을 할 때는 웹 브라우저는 다른 페이지로 이동했는지 알 수 없다. (url 변화 X)
- 클라이언트는 최초 호출한 url만 표시되고, 이동한 페이지의 url 정보는 볼 수 없다.
- 주체가 서버이기 때문에 서버가 하는 일을 모른다.
- 요청의 정보는 그대로 유지한다.
- 호출된 url과 forward에 의해 호출된 url의 request, response는 공유된다. (객체 재사용 O)
- 동일한 web container에 있는 페이지로만 이동이 가능하다.

참고)
- DB에 변화가 생기는 요청의 경우 redirect 방식 사용
- 예 : 로그인, 회원가입, 글쓰기 등등..
- 새로고침을 눌렀을 경우, forward의 경우 요청정보가 그대로 살아있어 동일한 글이 여러번 등록될 수 있어 redirect를 사용해야한다.
- DB에 변화가 생기지 않는 요청의 경우 forward방식 사용
- 예 : 조회
출처
'WEB & CS' 카테고리의 다른 글
객체 지향 프로그래밍의 개념 및 4가지 특징 (0) 2023.10.10 WAS(Web Application Server)와 WS(Web Server) 차이점 (0) 2023.10.04 프로세스(Process) & 스레드(Thread) 정리 (0) 2023.08.13 Sync & Async & Blocking & Non-Blocking (0) 2023.08.11 자료구조 시작 전 사전지식_linkedList (0) 2023.08.11