리다이렉트(Redirect)
리다이렉트는 서버가 클라이언트에게 다른 페이지로 이동하라고 요청하는 방법입니다
리타이렉트는 두 단계로 이루어집니다
- 클라이언트에게 다른 URL로 이동하라는 응답을 보냅니다
- 클라이언트는 새로운 URL로 재요청을 보냅니다
리다이렉트는 브라우저에게 새로운 URL로 이동하라는 명령을 주기 때문에, 클라이언트는 서버에게 두 번의 요청을 보냅니다
이로 인해 브라우저의 주소 표시줄이 변경되고, 새로운 페이지로 이동하는 효과를 가집니다
주로 외부 URL로 이동하거나, 현재 요청과 관련 없는 새로운 요청을 처리할 때 사용됩니다
<%
response.sendRedirect("newPage.jsp");
%>
포워드(Forward)
포워드는 서버 내에서 페이지 간에 정보를 전달하면서 이동하는 방법입니다
포워드는 단일 요청에 대한 단일 응답을 유지하며, 클라이언트는 이동한 사실을 알 수 없습니다
주로 동일한 웹 어플리케이션 내에서 다른 JSP나 서블릿으로 제어를 이전할 때 사용됩니다
<%
pageContxt.forward("newPage.jsp");
%>
리다이렉트(Redirect)와 포워드(Forward)의 차이점
리다이렉트 | 포워드 | |
주소 표시줄 변화 | 주소가 변경됨 | 주소가 변경되지 않음 |
클라이언트와 서버 간 통신 | 두 번의 요청이 발생함 | 단일 요청과 응답 |
데이터 공유 | 쿠키나 세션을 통해 데이터를 공유할 수 있음 | 요청과 응답 객체를 통해 데이터를 공유함 |
적합한 사용 시나리오 | 외부 URL로 이동이나 현재 요청과 무관한 새로운 요청일 때 사용 | 동일한 애플리케이션 내에서 제어를 이전하거나 데이터를 공유해야 할 때 사용 |
리다이렉트와 포워드는 각각의 특성에 따라 다른 사용 시나리오에 적합하므로, 상황에 따라 적절한 방법을 선택하는 것이 중요합니다
'-- Web --' 카테고리의 다른 글
[프론트엔드] CSS(Cascading Style Sheets)란? (0) | 2024.03.20 |
---|---|
SCSS(Sass, Syntactically Awesom Style Sheets)란? (0) | 2024.03.15 |
[HTML] 시맨틱 태그 (Semantic Tag)란? (1) | 2024.01.15 |
[웹 개발] Scope - Request, Session, Application (0) | 2024.01.13 |
[JSP] 페이지 지시어, 스크립트릿, 표현식 (0) | 2024.01.04 |