3XX 리디렉션
3XX 리디렉션
개요
3XX 코드는 사용자 에이전트가 요청 페이지를 완전하게 확보하려면 다른 방식을 사용해야 한다는 것을 의미하는 응답들입니다.
리디렉션 위치는 다음 중 하나에서 설정되어야 합니다.
- 응답 내
Location
헤더 필드. 자동 리디렉션에 유용 - 정정 위치로의 하이퍼링크(선택 사항)가 포함된 응답의 페이로드
- 300 Multiple
- 301 Moved Permanently
- 302 Found
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
- 306 Switch Proxy
- 307 Temporary Redirect
- 308 Permanent Redirect
300 Multiple Choices**( RFC7231)**
해당 자원에 대해 클라이언트에게 다수의 옵션이 있습니다. 예를 들면, 이 응답은 다양한 동영상 형식을 표시할 때, 서로 다른 확장자를 가진 파일 목록을 보여줄 때, 단어 의미의 중의성을 해소할 때 사용될 수 있습니다.
301 Moved Permanently**( RFC7231)**
요청된 자원에 대한 영구적인 URL 리디렉션. 대상 자원에 영구적인 새 URI가 할당되었고, 이후 이 자원을 참조할 때는 페이지를 조회할 때는 포함된 URI 중 하나를 사용해야 합니다.
Cloudflare가 이 응답을 생성할 수 있기 때문에 따로 페이지 규칙을 사용해 원본 서버의 응답에 요청을 전송하지 않아도 됩니다. Cloudflare로 리디렉션을 생성하는 자세한 방법은 Page Rules URL 전달에서 확인할 수 있습니다.
302 Found(Temporary Redirect)****( RFC7231)
301 리디렉션과 유사하지만, 일시적인 목적으로만 사용됩니다. 사용자 에이전트가 자동으로 Location
헤더를 따를 수 있지만, 301 응답처럼 현재 URI를 대체해서는 안 됩니다.
Cloudflare가 이 응답을 생성할 수 있기 때문에 따로 페이지 규칙을 사용해 원본 서버의 응답에 요청을 전송하지 않아도 됩니다. Cloudflare로 리디렉션을 생성하는 자세한 방법은 Page Rules URL 전달에서 확인할 수 있습니다.
303 See Other(HTTP/1.1 버전 및 이후 버전)****( RFC7231)
사용자 에이전트는 GET 요청으로 이 리디렉션을 따라야 합니다. 참고: 이 응답은 리디렉션된 자원이 본래 요청된 자원과 반드시 일치하지 않을 수 있다는 점에서 301 응답과는 다릅니다.
- 원본 서버가 데이터를 올바르게 수신했음을 알리고 적절한 캐시 동작을 허용하는
POST/DELETE
요청에 대한 응답으로 사용됩니다. - 본래의 303 응답은 캐시할 수 없지만, 두 번째 요청(
GET
)에 대한 응답은 다른 URI에 있기 때문에 캐시할 수 있습니다.
304 Not Modified( RFC7232)
요청된 자원을 사용할 수 있고, 캐시가 유효하다는 것을 클라이언트에 알려줍니다. 요청된 자원을 원본 서버에서 수정하지 않았습니다. 클라이언트는 원본 서버에 다시 연결하지 않아도 지정된 자원의 페이로드를 수신할 수 있으며, 따라서 이 요청을 리디렉션해 저장된 페이지를 사용합니다. 304 응답을 수신하는 캐시의 요건은 [RFC7234] 섹션 4.3.4에 설명되어 있습니다.
이 응답에 앞서 클라이언트는 현재 어떤 자원이 저장되어 있는지를 알려주는 조건부 GET 또는 HEAD 요청을 전송했습니다. 서버는 클라이언트와 서버 간 데이터 전송량을 최소화하기 위해 클라이언트에 이 자원의 가장 최신 버전을 사용할 수 있다는 승인을 보냅니다.
메시지 본문을 포함하지 않아야 합니다.
Cache-Control, Content-Location, Date, ETag, Expires
,Vary
등 200 응답에 앞서 설정된 헤더를 포함해야 합니다.
너무 오래되어 원본 웹 서버에서 다시 유효성을 검증받아야 하는 요청이 Cloudflare로 전송되면 Cloudflare는 304 응답을 전송해 캐시의 버전이 원본 웹 서버의 버전과 일치하는 것을 확인해줍니다. 이 응답에는 CF-Cache-Status: REVALIDATED
헤더가 포함되며, Cloudflare는 If-Modified-Since
헤더를 사용해 버전을 확인합니다. 더 자세한 정보는 ETag 헤더에서 확인할 수 있습니다.
305 Use Proxy(사용 중단)****( RFC7231)
요청이 원본 웹 서버 대신 Location 헤더에 명시된 프록시 URI를 통해 충족되어야 합니다. 이 상태 코드는 보안상 위험으로 인해 사용이 중단되었습니다.
306 Switch Proxy(사용 중단)****( RFC7231)
이후의 요청은 반드시 명시된 프록시로 전송되어야 한다는 통지입니다.
307 Temporary Redirect**( RFC7231)**
리디렉션을 자동으로 실행할 경우 GET, POST 등의 요청 메소드가 본래의 요청에 사용된 것과 다르면 안 된다는 점을 제외하면 302 응답과 유사합니다.
- 사용자 에이전트가 자동으로
Location
헤더를 따를 수는 있지만, 본래의 URI를 대체해서는 안 됩니다.
308 Permanent Redirect( RFC7538)
리디렉션을 자동으로 실행할 경우 GET, POST 등의 요청 메소드가 본래의 요청에 사용된 것과 다르면 안 된다는 점을 제외하고 301 응답과 유사한 영구적 리디렉션 응답입니다.
- 사용자 에이전트는 자동으로
Location
헤더를 따라야 합니다. - 사용자 에이전트는 본래의 URI를 Location 또는 페이로드에 업데이트된 URI로 대체해야 합니다.