Foward, Redirect


  • JSP 환경에서 현재 작업 중인 페이지에서 다른 페이지로 이동하는 페이지 전환 기능

Foward

  • 서버 입장에서 페이지 이동 즉, 실제로 웹 브라우저는 다른 페이지로 이동했는지 알 수 없음
  • 웹 브라우저에는 최초 호출한 URL만 표시되고 이동한 페이지의 URL 정보 알 수 없음
  • 동일한 서버에 있는 페이지만 이동 가능
  • 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 request, response 객체 공유
    • 다음 이동한 URL로 요청정보를 그대로 전달함
    • 사용자 요청정보를 forward (전달) 하는 것
  • 예시
    • 단순 조회
    • 사용자 요청 재사용해도 상관없을 경우 사용
    • 검색, 로그인

Redirect

  • 서버는 redirect 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라는 명령을 내림
  • 웹 브라우저는 URL을 지시된 주소로 바꾸고 그 주소로 이동함
  • 다른 서버에 있는 주소 이동 가능
  • 새로운 페이지에서는 request, response 객체가 새롭게 생성
    • 기존 고객의 request는 사라지고 새로운 request 생성
    • redirect 경우 최초 요청을 받은 URL1에 클라이언트에 redirect할 URL2를 리턴함
    • 클라이언트에게 전혀 새로운 요청을 생성하여 URL2에 다시 요청을 보냄
    • 처음 보냈던 최초의 요청정보는 더이상 유효하지 않음
  • 예시
    • 수정이나 삭제
    • forward 보다는 사용자 요청을 다시 받는 것이 나음
    • forward는 사용자 요청 객체가 계속 유지되기 때문에 글쓰기하고 여러번 새로고침 누르면 DB에 글이 여러번 저장될 수 있음
ForwardRedirect
URL 변화 여부XO
객체 재사용 여부OX
profile
github : https://github.com/kiaeh2323 , email : kiaeh9269@gmail.com

0개의 댓글