[TIL] Redirect vs Forward

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 범위).
  • 브라우저 히스토리에 기록되지 않음.

✅ 요약 표

구분RedirectForward
요청 횟수2번 (클라이언트 → 서버 → 다시 클라이언트)1번 (서버 내부 처리)
URL 변경OX
데이터 유지어렵다 (세션 등 필요)request에 저장 가능
사용 목적다른 페이지로 완전히 이동 시같은 서버 내 로직 처리 시