정의
요청 리소스가 다른 URI로 이동되었음을 알리는 상태 코드
웹 리디렉션, 프록시 서버 응답, 캐싱 처리 등 다양한 네트워크 상황에서 사용됩니다.
왜 알아야 할까?
리디렉션은 사용자 경험과 SEO에 직결됩니다
HTTP 3xx 응답을 올바르게 이해하면, 서버와 클라이언트가 효율적으로 리소스를 주고받을 수 있습니다.
전체 목록
HTTP 표준에 정의된 모든 3xx 응답 코드입니다.
| 상태 코드 | 상태 이름 | 설명 |
|---|---|---|
| 300 | Multiple Choices | 요청한 리소스에 대해 여러 응답이 가능합니다. 사용자 선택이 필요할 수 있습니다. |
| 301 | Moved Permanently | 요청한 리소스가 영구적으로 다른 URI로 이동했습니다. 검색 엔진에 중요. |
| 302 | Found | 임시로 다른 URI에서 리소스를 제공합니다. 이전에는 "Moved Temporarily"로 불렸습니다. |
| 303 | See Other | 다른 URI에서 리소스를 GET 방식으로 확인하라는 지시입니다. 주로 POST 응답 이후 사용됩니다. |
| 304 | Not Modified | 클라이언트에 저장된 캐시된 리소스가 최신이므로 다시 다운로드할 필요 없음. |
| 305 | Use Proxy | 요청은 반드시 프록시를 통해야 하며, `Location` 헤더에 프록시 주소가 제공됩니다. (현재는 비권장) |
| 307 | Temporary Redirect | 임시 리디렉션. 원래 요청 메서드를 유지해야 하며, POST도 그대로 전송됩니다. |
| 308 | Permanent Redirect | 영구 리디렉션. 메서드와 본문을 변경하지 않고 다른 URI로 이동합니다. |
사용 예시
SEO, 캐시 전략, 사용자 리디렉션 구현 시 자주 사용됩니다.
💡 301: 도메인 이전, 영구 주소 변경 (SEO 필수)
💡 302: 로그인 후 메인 화면으로 이동 시
💡 303: POST 요청 후, 결과 페이지로 리디렉션
💡 304: 브라우저 캐시 유효성 검사 시
💡 307: 파일 업로드 중 리디렉션 발생 시 원본 메서드 유지
💡 308: 리소스가 완전히 이동되었을 때 메서드 유지한 채 리디렉션