Network Working Group | M. Nottingham |
Internet-Draft | November 5, 2018 |
Updates: 3864, 7231 (if approved) | |
Intended status: Standards Track | |
Expires: May 9, 2019 |
A Registry for HTTP Header Fields
draft-nottingham-httpbis-header-registry-00
This document defines a separate IANA registry for HTTP header fields, and establishes the procedures for its operation.
The issues list for this draft can be found at https://github.com/mnot/I-D/labels/httpbis-header-registry.
The most recent (often, unpublished) draft is at https://mnot.github.io/I-D/httpbis-header-registry/.
Recent changes are listed at https://github.com/mnot/I-D/commits/gh-pages/httpbis-header-registry.
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 May 9, 2019.
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 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.
[RFC3864] established common IANA registries for header fields from a variety of protocols. Experience has shown that having a combined registry has few benefits, and creates a number of issues, including:
While these issues could be mitigated by a RFC3864bis, it is more straightforward to separate the HTTP registrations out into a separate registry; since there is only slight syntactic similarity between header fields between protocols (and often, the mismatches create confusion), and little semantic overlap, this seems like the best path forward.
Therefore, this document establishes a new HTTP Header Field Registry, defines its procedures, and guides the transition of existing values to it. Doing so effectively removes HTTP header fields from the scope of [RFC3864] and the registries it defines, and updates [RFC7231] Section 8.3 with a new process for managing them.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].
The “Hypertext Transfer Protocol (HTTP) Header Field Registry” defines the namespace for HTTP header fields (as per [RFC7230], Section 3.2).
Any party can request registration of a HTTP header field. See [RFC7231] Section 8.3.1 for considerations to take into account when creating a new HTTP header field.
The “HTTP Header Field Name” registry is located at “https://www.iana.org/assignments/http-headers/”. Registration requests can be made by following the instructions located there or by sending an email to the “ietf-http-wg@ietf.org” mailing list.
Header field names are registered on the advice of a Designated Expert (appointed by the IESG or their delegate). Header fields with the status ‘permanent’ are Specification Required (using terminology from [RFC8126]).
Registration requests consist of at least the following information:
The Expert(s) can define additional fields to be collected in the registry, in consultation with the community.
Standards-defined names have a status of “permanent”. Other names can also be registered as permanent, if the Expert(s) find that they are in use, in consultation with the community. Other names should be registered as “provisional”.
Provisional entries can be removed by the Expert(s) if – in consultation with the community – the Expert(s) find that they are not in use. The Experts can change a provisional entry’s status to permanent at any time.
Note that names can be registered by third parties (including the Expert(s)), if the Expert(s) determines that an unregistered name is widely deployed and not likely to be registered in a timely manner otherwise.
IANA will create a new registry as outlined in Section 2.
After creating the registry, all entries in the Permanent and Provisional Message Header Registries with the protocol ‘http’ are to be moved to it, with the following changes applied:
The Permanent and Provisional Message Header registries will be annotated to indicate that HTTP header field registrations have moved, with an appropriate link.
No security considerations are introduced by this specification beyond those already inherent in the use of HTTP header fields.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC7230] | Fielding, R. and J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014. |
[RFC8126] | Cotton, M., Leiba, B. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017. |
[RFC3864] | Klyne, G., Nottingham, M. and J. Mogul, "Registration Procedures for Message Header Fields", BCP 90, RFC 3864, DOI 10.17487/RFC3864, September 2004. |
[RFC7231] | Fielding, R. and J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content", RFC 7231, DOI 10.17487/RFC7231, June 2014. |