Network Working Group S. Sahib Internet-Draft July 16, 2018 Intended status: Informational Expires: January 17, 2019 New protocol elements for HTTP Status Code 451 draft-sahib-451-new-protocol-elements-02 Abstract This document recommends additional protocol elements to Hypertext Transfer Protocol (HTTP) status code 451 (defined by RFC7725). Discussion of this document was conducted on the Human Rights Protocol Considerations Research Group mailing list https://www.irtf.org/mailman/listinfo/hrpc [1], briefly on the HTTPBIS Working Group mailing list ietf-http-wg@w3.org [2] and on https://lists.ghserv.net/mailman/listinfo/statuscode451 [3]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 17, 2019. Copyright Notice Copyright (c) 2018 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 (https://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 Sahib Expires January 17, 2019 [Page 1] Internet-Draft New elements for HTTP 451 July 2018 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. New Protocol Elements . . . . . . . . . . . . . . . . . . . . 2 2.1. Blocking Authority . . . . . . . . . . . . . . . . . . . 2 2.2. Geographical Scope of Block . . . . . . . . . . . . . . . 3 3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 3 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.1. Normative References . . . . . . . . . . . . . . . . . . 4 6.2. Informative References . . . . . . . . . . . . . . . . . 4 6.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction [RFC7725] was standardized by the IETF in February 2016. It defined HTTP status code 451 - to be used when "a server operator has received a legal demand to deny access to a resource or to a set of resources". This document attempts to outline protocol recommendations that would help make the status code more useful to users. 2. New Protocol Elements 2.1. Blocking Authority In addition to the "blocked-by" header specified in [RFC7725], an HTTP response with status code 451 would benefit from including another "Link" HTTP header field [RFC5988] which has a "rel" parameter whose value is "blocking-authority". It's important to distinguish between the implementer of the block, and the authority that mandated the block in the first place. This is because these two organizations might not be the same - a government (the blocking authority) could force an Internet Service Provider (the implementer of the block) to deny access to a certain resource. There is confusion amongst implementors of [RFC7725] about the meaning of the term "blocked-by", perhaps in part because of the example given in the RFC [ERRATA_ID-5181] - it would be useful to explicitly include space for both, as both provide essential information about the legal block. Sahib Expires January 17, 2019 [Page 2] Internet-Draft New elements for HTTP 451 July 2018 2.2. Geographical Scope of Block HTTP status code 451 is increasingly being used to deny access to resources based on geographical IP. The response should contain a provisional header with geographical scope of block. This scope should correspond to comma-separated list of alpha-2 country codes defined in [ISO.3166-1]. The rationale for keeping the geographical scope to country-level granularity is that most blocks are mandated by national governments [IMPL_REPORT], [AUTOMATTIC_COUNTRY_BLOCK_LIST]. In addition, as the serving of this status code is voluntary, there is value in not complicating the specification. 3. Security Considerations This document does not add additional security considerations to [RFC7725]. 4. IANA Considerations The Link Relation Type Registry should be updated with the following entry: - Relation Name: blocking-authority - Description: Identifies the authority that has issued the block. - Reference: this document In addition, IANA should be updated with the following provisional header: - Header field name: geo-scope-block - Applicable protocol: http - Status: provisional - Specification document(s): this document Acknowledgements Thanks to Alp Toker, Christine Runnegar, Niels ten Oever, Stephane Bortzmeyer, Corinne Cath and many others on the HRPC mailing list (linked above) for reviewing and brainstorming. Sahib Expires January 17, 2019 [Page 3] Internet-Draft New elements for HTTP 451 July 2018 6. References 6.1. Normative References [ERRATA_ID-5181] Bortzmeyer, S., "[Technical Errata Reported] RFC7725 (5181)", 2017, . [ISO.3166-1] International Organization for Standardization, "Codes for the representation of names of countries and their subdivisions - Part 1: Country code", ISO Standard 3166- 1:1997 , 1997. [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, DOI 10.17487/RFC2277, January 1998, . [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, . [RFC5988] Nottingham, M., "Web Linking", RFC 5988, DOI 10.17487/RFC5988, October 2010, . [RFC7725] Bray, T., "An HTTP Status Code to Report Legal Obstacles", RFC 7725, DOI 10.17487/RFC7725, February 2016, . [RFC8280] ten Oever, N. and C. Cath, "Research into Human Rights Protocol Considerations", RFC 8280, DOI 10.17487/RFC8280, October 2017, . [RFC8288] Nottingham, M., "Web Linking", RFC 8288, DOI 10.17487/RFC8288, October 2017, . 6.2. Informative References [AUTOMATTIC_COUNTRY_BLOCK_LIST] "Automattic - Country Block List", 2018, . Sahib Expires January 17, 2019 [Page 4] Internet-Draft New elements for HTTP 451 July 2018 [IMPL_REPORT] Abraham, S., Canales, MP., Hall, J., Khrustaleva, O., ten Oever, N., Runnegar, C., and S. Sahib, "Implementation Report for HTTP Status Code 451", 2017, . 6.3. URIs [1] https://www.irtf.org/mailman/listinfo/hrpc [2] mailto:ietf-http-wg@w3.org [3] https://lists.ghserv.net/mailman/listinfo/statuscode451 Author's Address Shivan Kaul Sahib EMail: shivankaulsahib@gmail.com Sahib Expires January 17, 2019 [Page 5]