HTTP 303, 즉 HTTP 응답 상태 코드 303 See Other는 특히 RFC 2616(HTTP 1.1) 이후 HTTP POST가 수행된 후 웹 애플리케이션을 새 URI로 리다이렉션하는 방법이다.

RFC 2616을 폐기한 RFC 7231에 따르면 "GET 요청에 대한 303 응답은 원본 서버에 HTTP를 통해 서버가 전송할 수 있는 대상 리소스에 대한 표현이 없음을 나타낸다. 그러나 위치 필드 값은 다음을 참조한다. 다른 리소스에 대한 검색 요청을 하면 원래 대상 리소스를 나타낸다는 것을 암시하지 않고 수신자에게 유용한 표현이 생성될 수 있도록 대상 리소스를 설명하는 리소스이다.

이 상태 코드는 아래 설명과 같이 위치 헤더와 함께 사용해야 한다. 서버가 303 See Other 응답과 위치 헤더 값을 사용하여 POST 또는 기타 비멱등성 요청에 응답하는 경우 클라이언트는 GET 메서드를 사용하여 위치 헤더에 언급된 리소스를 얻을 것으로 예상된다. 동일한 방법을 사용하여 대상 리소스에 대한 요청을 트리거하기 위해 서버는 307 임시 리디렉션 응답을 제공해야 한다.

303 See Other는 시맨틱 웹 이론에 따라 실제 객체를 식별하는 URI에 대한 요청에 응답하는 한 가지 방법으로 제안되었다(다른 하나는 해시 URI를 사용하는 것이다).[1] 예를 들어 http://www.example.com/id/alice가 Alice라는 사람을 식별하는 경우 서버가 Alice 자신을 전달할 수 없으므로 서버가 GET 요청에 200 OK로 응답하는 것은 부적절하다. 대신 서버는 Alice라는 사람에 대한 설명을 제공하는 별도의 URI로 리디렉션되는 303 See Other 응답을 발행한다.

303 See Other는 다른 용도로 사용될 수 있다. 예를 들어 호출자에게 즉시 응답해야 하지만 비동기적으로 계속 실행되어야 하는 HTTP 기반 웹 API를 구축하는 경우(예: 장기 이미지 변환), 웹 API는 요청한 원래 클라이언트를 허용하는 상태 확인 URI를 제공할 수 있다. 변환 상태를 확인하려면 변환을 클릭한다. 이 상태 확인 웹 API는 작업이 완료되면 Location HTTP 헤더 필드에서 결과를 검색할 URI에 대한 링크와 함께 요청자에게 303 See Other를 자체적으로 반환할 수 있다.[2]

같이 보기

편집

각주

편집
  1. “Cool URIs for the Semantic Web: Hash URIs”. 《W3C Interest Group Note》. 2008년 12월 3일. 
  2. Allamaraju, Subbu; Allamaraju, Subrahmanyam (March 2010). 《RESTful Web Services Cookbook》. O'Reilly Media. ISBN 9780596801687.