인터넷 공학 태스크 포스 (IETF) T. Bray
Request for Comments: 7725 Textuality
분류: 표준 트랙 2016년 2월
ISSN: 2070-1721

법적 장애를 보고하기 위한 HTTP 상태 코드


초록

이 문서는 법적 요구로 인해 자원 접근이 거부될 때 사용되는 하이퍼텍스트 전송 프로토콜(HTTP) 상태 코드를 명시한다.

이 메모의 상태

이 문서는 인터넷 표준 트랙 문서이다.

이 문서는 인터넷 공학 태스크 포스(IETF)의 산출물이다. 이 문서는 IETF 커뮤니티의 합의를 반영한다. 공개 검토를 거쳤으며 인터넷 공학 운영 그룹(IESG)에 의해 발행이 승인되었다. 인터넷 표준에 대한 추가 정보는 RFC 5741의 섹션 2에서 확인할 수 있다.

이 문서의 현재 상태, 정정표(errata), 그리고 이에 대한 피드백 제공 방법에 관한 정보는 http://www.rfc-editor.org/info/rfc7725에서 확인할 수 있다.

Copyright Notice

Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

1. 소개

이 문서는 서버 운영자가 요청된 자원을 포함하는 자원 또는 자원 집합에 대한 접근을 거부하라는 법적 요구를 받은 경우에 사용되는 하이퍼텍스트 전송 프로토콜(HTTP) 상태 코드를 명시한다.

이 상태 코드는 법률이나 공공 정책 문제가 서버 운영에 영향을 미치는 상황에서 투명성을 제공하는 데 사용될 수 있다. 이러한 투명성은 운영자와 최종 사용자 모두에게 유익할 수 있다.

[RFC4924]은 인터넷의 투명한 운영에 반하는 요인들을 논의하는데, 여기에는 분명히 콘텐츠 접근을 제한하기 위한 법적 개입이 포함된다. 해당 문서가 지적한 바와 같이, 그리고 섹션 4에서 [RFC4084]가 서술하고 있듯이, 그러한 제한은 명시되어야 한다.

2. 요구사항

이 문서에서 핵심 단어 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 및 "OPTIONAL"은 [RFC2119]에 설명된 대로 해석되어야 한다.

4. 차단 주체 식별

앞서 언급한 바와 같이, 자원에 접근하려다가 상태 451로 실패할 때 접근을 차단하는 주체가 원본 서버일 수도 있고 아닐 수도 있다. 자원 접근 경로에는 접근을 거부할 수 있는 다양한 주체가 존재하는데, 예를 들면 ISP, 캐시 제공자, DNS 서버 등이 있다.

법적 차단이 발생할 때 실제로 차단을 수행하는 주체를 식별할 수 있으면 유용하다.

어떤 주체가 접근을 차단하고 상태 451을 반환할 때, 그 주체는 자신을 식별하는 URI 참조를 값으로 하는 "Link" HTTP 헤더 필드를 포함하는 것이 SHOULD다. 이 목적을 위해 사용될 때, "Link" 헤더 필드는 값이 "blocked-by"인 "rel" 매개변수를 MUST 가지어야 한다.

의도는 헤더가 차단을 실제로 수행하는 주체를 식별하는 데 사용되는 것이지, 차단을 지시한 다른 어떤 주체를 식별하는 데 사용되는 것이 아니다. 관리 및 정책 문제에 대한 논의는 위에서 언급한 바와 같이 사람이 읽을 수 있는 응답 본문이 적절한 위치이다.

5. 보안 고려사항

클라이언트는 451 상태 코드의 사용에 의존할 수 없다. 특정 법적 권한이 투명성을 피하고자 하여 특정 자원에 대한 접근 제한뿐만 아니라 요구가 있었음을 공개하지 않도록 요구할 가능성도 있기 때문이다.

6. IANA 관련 사항

HTTP 상태 코드 등록부는 다음 항목으로 업데이트되었다:

  • 코드: 451
  • 설명: 법적 사유로 인한 이용 불가
  • 명세: RFC 7725

링크 관계 유형 등록부는 다음 항목으로 업데이트되었다:

  • 관계 이름: blocked-by
  • 설명: 법적 요구를 받은 후 자원에 대한 접근을 차단하는 주체를 식별한다.
  • 참조: RFC 7725

7. 참조

7.1. 규범적 참조

[RFC2119]
Bradner, S., “RFC에서 요구 수준을 나타내기 위한 핵심 단어”, BCP 14, RFC 2119, DOI 10.17487/RFC2119, 1997년 3월, <https://www.rfc-editor.org/info/rfc2119>.
[RFC3986]
Berners-Lee, T., Fielding, R., 및 L. Masinter, “일반적 구문을 가지는 자원 식별자(URI): 일반 문법”, STD 66, RFC 3986, DOI 10.17487/RFC3986, 2005년 1월, <https://www.rfc-editor.org/info/rfc3986>.
[RFC5988]
Nottingham, M., “웹 링크(Web Linking)”, RFC 5988, DOI 10.17487/RFC5988, 2010년 10월, <https://www.rfc-editor.org/info/rfc5988>.
[RFC7234]
Fielding, R., 편집., Nottingham, M., 편집., 및 J. Reschke, 편집., “하이퍼텍스트 전송 프로토콜 (HTTP/1.1): 캐싱”, RFC 7234, DOI 10.17487/RFC7234, 2014년 6월, <https://www.rfc-editor.org/info/rfc7234>.

Appendix A. 감사의 글

현행 상태 코드 403이 이 상황에 적절하지 않음을 관찰하고 새로운 상태 코드의 생성을 제안한 Terence Eden에게 감사한다.

Ray Bradbury에게도 감사한다.

저자 주소

Tim Bray
Textuality
이메일: tbray@textuality.com
URI: http://www.tbray.org/ongoing/