[TIL] Redirect vs Forward
in TIL on Til Last modified at:
2025-03-12 TIL
📝 TIL (Today I Learned)
🔗 원본 이슈: #26
📅 작성일: 2025-03-12
🔄 최종 수정: 2025년 04월 08일
🍀 새롭게 배운 것
- 리다이렉트 vs 포워드
- 비슷한 개념인 것 같은데 어떤 부분이 정확히 다른지 알아보았다.
🔁 리다이렉트 (Redirect)
- 개념: 서버가 클라이언트에게 다른 URL로 이동하라고 응답함.
- 작동 방식: 클라이언트(브라우저)가 새로운 요청을 다시 보냄 (새 HTTP 요청).
- 주소창: 변경됨 (새로운 URL로 바뀜).
- 용도 예시: 로그인 후 메인 페이지로 이동, 외부 사이트로 이동 등.
✔ 특징 요약:
- 클라이언트가 다시 요청함 (2번 요청 발생).
- URL이 변경됨.
- 세션이나 flash 같은 일시적 데이터 사용 시 주의.
- 브라우저 히스토리에 기록됨.
🔄 포워드 (Forward)
- 개념: 서버 내부에서 다른 리소스로 요청을 전달함.
- 작동 방식: 클라이언트는 한 번의 요청만 보내고, 서버 내부에서 처리 리소스를 바꿔줌.
- 주소창: 변경되지 않음.
- 용도 예시: form 제출 후 처리 결과를 같은 도메인의 JSP나 컨트롤러로 넘길 때.
✔ 특징 요약:
- 서버가 내부적으로 리소스 전달.
- URL이 변경되지 않음.
- 데이터 유지 가능 (request 범위).
- 브라우저 히스토리에 기록되지 않음.
✅ 요약 표
구분 | Redirect | Forward |
---|---|---|
요청 횟수 | 2번 (클라이언트 → 서버 → 다시 클라이언트) | 1번 (서버 내부 처리) |
URL 변경 | O | X |
데이터 유지 | 어렵다 (세션 등 필요) | request에 저장 가능 |
사용 목적 | 다른 페이지로 완전히 이동 시 | 같은 서버 내 로직 처리 시 |