Internet DRAFT - draft-nottingham-httpbis-header-registry
draft-nottingham-httpbis-header-registry
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
Abstract
This document defines a separate IANA registry for HTTP header
fields, and establishes the procedures for its operation.
Note to Readers
The issues list for this draft can be found at
https://github.com/mnot/I-D/labels/httpbis-header-registry [1].
The most recent (often, unpublished) draft is at
https://mnot.github.io/I-D/httpbis-header-registry/ [2].
Recent changes are listed at https://github.com/mnot/I-D/commits/gh-
pages/httpbis-header-registry [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 May 9, 2019.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
Nottingham Expires May 9, 2019 [Page 1]
Internet-Draft HTTP Header Registry November 2018
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3
2. The HTTP Header Field Registry . . . . . . . . . . . . . . . 3
2.1. Requesting Registration . . . . . . . . . . . . . . . . . 3
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
3.1. Registry Creation . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Normative References . . . . . . . . . . . . . . . . . . 5
5.2. Informative References . . . . . . . . . . . . . . . . . 5
5.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
[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:
o Difficulty in evolving the registration process (without
coordination with other protocols),
o Registry user confusion, due to the large number of header fields
registered,
o Using one expert to review all header field registrations is
onerous to that individual,
o Lack of HTTP community involvement / oversight in reviews.
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.
Nottingham Expires May 9, 2019 [Page 2]
Internet-Draft HTTP Header Registry November 2018
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.
1.1. Notational Conventions
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].
2. The HTTP Header Field Registry
The "Hypertext Transfer Protocol (HTTP) Header Field Registry"
defines the namespace for HTTP header fields (as per [RFC7230],
Section 3.2).
2.1. Requesting Registration
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:
o *Header field name*: The requested field name. It MUST conform to
the field-name syntax defined in [RFC7230], Section 3.2, and
SHOULD be restricted to just letters, digits, hyphen ('-') and
underscore ('_') characters, with the first character being a
letter.
o *Status*: "permanent" or "provisional"
o *Author/Change controller*: For a standards-track RFC, state
"IETF". For other open standards, give the name of the publishing
body (e.g., "W3C"). For other specifications, give the name and/
Nottingham Expires May 9, 2019 [Page 3]
Internet-Draft HTTP Header Registry November 2018
or organisation name and e-mail address of the primary
specification author.
o *Specification document(s)*: Reference to the document that
specifies the header field, preferably including a URI that can be
used to retrieve a copy of the document. An indication of the
relevant section(s) can also be included, but is not required.
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.
3. IANA Considerations
3.1. Registry Creation
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:
1. The 'Applicable Protocol' field is to be omitted.
2. Entries with a status of 'standard', 'experimental', or
'informational' are to have a status of 'permanent'.
3. Entries with a status of 'deprecated' are to have a status of
'obsoleted'.
4. Provisional entries without a status are to have a status of
'provisional'.
Nottingham Expires May 9, 2019 [Page 4]
Internet-Draft HTTP Header Registry November 2018
5. Permanent entries without a status (after confirmation that the
registration document did not define one) will have a status of
'provisional'. The Expert(s) can choose to update their status
if there is evidence that another is more appropriate.
The Permanent and Provisional Message Header registries will be
annotated to indicate that HTTP header field registrations have
moved, with an appropriate link.
4. Security Considerations
No security considerations are introduced by this specification
beyond those already inherent in the use of HTTP header fields.
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Message Syntax and Routing",
RFC 7230, DOI 10.17487/RFC7230, June 2014,
<https://www.rfc-editor.org/info/rfc7230>.
[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,
<https://www.rfc-editor.org/info/rfc8126>.
5.2. Informative References
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Procedures for Message Header Fields", BCP 90, RFC 3864,
DOI 10.17487/RFC3864, September 2004,
<https://www.rfc-editor.org/info/rfc3864>.
[RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Semantics and Content", RFC 7231,
DOI 10.17487/RFC7231, June 2014,
<https://www.rfc-editor.org/info/rfc7231>.
Nottingham Expires May 9, 2019 [Page 5]
Internet-Draft HTTP Header Registry November 2018
5.3. URIs
[1] https://github.com/mnot/I-D/labels/httpbis-header-registry
[2] https://mnot.github.io/I-D/httpbis-header-registry/
[3] https://github.com/mnot/I-D/commits/gh-pages/httpbis-header-
registry
Author's Address
Mark Nottingham
Email: mnot@mnot.net
URI: https://www.mnot.net/
Nottingham Expires May 9, 2019 [Page 6]