페이지 이동 기술

MIN·2023년 12월 8일
0

Servlet/JSP

목록 보기
13/21
post-thumbnail

🎃 redirect

클라이언트에게 이동할 주소를 보내주고, 클라이언트가 새로 요청하게 한다.

response.sendRedirect(String loaction)

  • 클라이언트가 새로운 요청을 보내기 때문에, 현재 서버가 아닌 다른 주소로 이동이 가능하다.
  • 클라이언트가 직접 요청을 보내기 때문에, 브라우저 주소창의 주소가 변경된다.
  • 새로 연결할 전화번호만 알려주고 현재 통화를 끊는 방식
  • request, response는 새롭게 만들어진다.
  • 네이버 및 다른 사이트로 이동이 가능하다.

🎃 forward

클라이언트에게 요청한 내용을 다른 주소로 넘겨서 응답을 보내도록 한다.

request.getRequestDispatcher(String url).forward(request, response)

  • 서버 내부에서 임의로 응답할 주소를 고르기 때문에, 다른 서버로는 넘길 수 없다.
  • 클라이언트는 관여하지 않고 서버에서 응답을 바꿔치기하므로 브라우저 주소창이 변경되지 않는다.
  • 고객에게 잠시 기다리게 하고, 내선번호로 전화를 돌리는 방식
  • request, response가 유지된다.
    (A에서 setAttribute하면 B에서 getAttribute 할 수 있다)
  • 서버 내부의 내용만 접근할 수 있고 다른 서버로는 갈 수 없다.
    즉, 네이버 및 다른 사이트로 이동 불가
  • request, response를 그대로 이용하고 싶을 때, 또는 바뀐 주소를 노출시키고싶지 않을 때 포워드를 사용한다.




🔥 한줄평
redirect와 forward의 차이점은 알고있었지만 굳이 forward를 사용하는 이유를 잘 몰랐었다. request, response를 그대로 사용하고 싶거나 주소를 노출시키지않고 이동시킬때 사용한다는 점을 알게 되었다!

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글