HTTP 302
1. 개요
HTTP 302는 HTTP 상태 코드 중 하나로, 요청한 리소스가 일시적으로 다른 위치로 이동되었음을 나타낸다. 서버는 302 응답과 함께 Location 헤더를 사용하여 리소스의 새로운 위치를 클라이언트에게 제공한다. 예를 들어, 클라이언트가 `/index.html`을 요청했을 때 서버가 302 응답과 함께 `Location: http://www.iana.org/domains/example/`를 반환할 수 있다.
HTTP 302
HTTP 상태 코드
| 상태 코드 | 302 Found |
|---|---|
| HTTP 버전 | HTTP/1.0 이상 |
개요
| 의미 | 요청한 리소스가 임시적으로 다른 URI로 이동되었음 |
|---|---|
| 사용법 | 웹 서버가 요청받은 리소스에 대한 응답으로 Location 응답 헤더 필드에 새로운 URI를 담아서 반환함 클라이언트는 Location 헤더 필드에 지정된 URI로 요청을 다시 보냄 (리디렉션) |
| HTTP 메서드 변경 여부 | HTTP/1.0: GET으로 변경될 수 있음 HTTP/1.1: 변경될 수 있음 (대부분의 브라우저가 GET으로 변경) HTTP/1.1 (RFC 2616): 메서드 변경에 대한 명확한 규정 없음 HTTP/1.1 (RFC 7231): 메서드 변경을 금지하고 303 또는 307 사용 권장 |
| 캐싱 가능 여부 | 캐싱 가능 (Cache-Control 또는 Expires 헤더에 따라 다름) |
상세 설명
| 기능 | 웹 페이지의 일시적인 이동 서버 과부하 분산 유지 보수 |
|---|---|
| 클라이언트 동작 | Location 헤더 필드에 지정된 URI로 자동 리디렉션 브라우저 주소 표시줄에 새로운 URI 표시 |
| HTTP 버전별 차이 | HTTP/1.0: 메서드 변경 가능 HTTP/1.1 (RFC 2616): 메서드 변경에 대한 명확한 규정 없음 (대부분의 브라우저가 GET으로 변경) HTTP/1.1 (RFC 7231): 메서드 유지를 권장하며, 303 또는 307 사용 권장 |
| 다른 상태 코드와의 비교 | 301 Moved Permanently: 영구적인 이동 303 See Other: GET 메서드로 리디렉션 307 Temporary Redirect: 메서드 유지 308 Permanent Redirect: 영구적인 이동, 메서드 유지 |
📚 더 읽어볼만한 페이지
-
HTTP 상태 코드 -
HTTP 403
서버가 요청을 이해했으나 클라이언트에게 권한이 없어 발생하는 HTTP 403 오류는, 인증된 계정의 권한 부족, IP 제한, 서버 구성, 방화벽 차단 등으로 인해 발생하며, HTTP 401 오류와 구별된다. -
HTTP 상태 코드 -
HTTP 404
HTTP 404 오류는 웹 서버가 요청된 리소스를 찾을 수 없을 때 반환하는 상태 코드로, 웹 페이지 접속 시 흔히 발생하며, 웹사이트들은 맞춤형 페이지를 제공하거나 검열의 수단으로 사용하기도 하고, IIS는 하위 상태 코드를 제공하며, 다양한 도구로 추적 및 관리할 수 있다.
2. 예시
클라이언트가 www.example.com 서버에 `/index.html` 페이지를 요청하면, 서버는 302 Found 응답을 통해 리소스가 `http://www.iana.org/domains/example/`로 일시적으로 이동했음을 알린다.
2.1. 클라이언트 요청
클라이언트가 www.example.com 서버에 `/index.html` 페이지를 요청하는 예시는 다음과 같다.
```http
GET /index.html HTTP/1.1
Host: www.example.com