Organization of the header name space
Olle Jarnefors <ojarnef@admin.kth.se> Mon, 27 November 1995 21:29 UTC
Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa28532; 27 Nov 95 16:29 EST
Received: from CNRI.Reston.VA.US by IETF.CNRI.Reston.VA.US id aa28528; 27 Nov 95 16:29 EST
Received: from list.cren.net by CNRI.Reston.VA.US id aa28694; 27 Nov 95 16:29 EST
Received: from localhost (localhost [127.0.0.1]) by list.cren.net (8.6.12/8.6.12) with SMTP id PAA15070; Mon, 27 Nov 1995 15:32:18 -0500
Received: from othello.admin.kth.se (othello.admin.kth.se [130.237.32.10]) by list.cren.net (8.6.12/8.6.12) with SMTP id PAA15047 for <ietf-822@list.cren.net>; Mon, 27 Nov 1995 15:31:49 -0500
Received: from mercutio.admin.kth.se by othello.admin.kth.se (5.65+bind 1.8+ida 1.4.2/4.0b) id AA14661; Mon, 27 Nov 95 21:31:50 +0100
Received: by mercutio.admin.kth.se (5.65+bind 1.8+ida 1.4.2/4.0) id AA23501; Mon, 27 Nov 95 21:31:48 +0100
Message-Id: <9511272031.AA23501@mercutio.admin.kth.se>
Date: Mon, 27 Nov 1995 21:31:48 +0100
X-Orig-Sender: owner-ietf-822@list.cren.net
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Olle Jarnefors <ojarnef@admin.kth.se>
To: ietf-822@list.cren.net
Cc: Olle Jarnefors <ojarnef@admin.kth.se>
Subject: Organization of the header name space
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Listprocessor-Version: 7.2 -- ListProcessor by CREN
Here are some ideas for a better organization of the name space for RFC 822 mail headers, netnews headers [RFC 1036], and HTTP headers [draft-ietf-http-v10-spec-04.txt]. Hopefully these (or better ideas), if applied, could lead to a better utilization of the name space when these protocols are extended, and the avoidance of unproductive skirmishes like the recent about Content-Location versus Location. When Jacob Palme's draft on Common Internet Message Attributes [draft-ietf-mailext-mail-attributes-03.txt] becomes an informational RFC, I hope the opportunity will be taken to create an IANA registry of header names. Reasons for doing that: a) The prospect of such a registry has been held out since 1982, for 13 (!) years: "Names of Extension-fields are registered with the Network Information Center, SRI International, Menlo Park, California." [RFC 822, 4.7.5] b) Palme's work seems to be a good foundation, bringing together information from all messaging standards used on the Internet, and also the most important non-standardized headers. Information about HTTP headers can easily be gathered from the HTTP 1.0 draft. c) The recent controversies about the use of the Newsgroups header in mail and about Location versus Content-Location in HTTP and HTML via mail shows that the coordination of the use of a common name space by different protocol development communities, despite good intensions, is not always effective. d) If a registration mechanism, similar to that for media types, were instituted for headers, the troubling ambiguity of non-registered headers can be removed, so that: > If a header is used whose name doesn't begin with "X-", it must have the same syntax and semantics as a header with that name registered with IANA. > If a header with some other syntax or semantics is used, it must have a name starting with "X-". (Non-registered headers, called user defined fields, can have any non-registered name, according to RFC 822. The HTTP 1.0 specification also allows such headers: "Unknown header fields are treated as Entity-Header fields." [section 4.3] This means that they are treated as describing the content of the HTTP message.) I also believe that it would be useful to bring a more visible order to the name space for headers by enforcing different prefixes for different categories of headers, when new header names are standardized or registered. (There's not much to do about the chaos among the already standardized headers, which all have a considerable installed base.) A division of the registered headers into these groups would be useful, I think: 1) Content-* content-related headers 2) Message-* general communication-related headers 3) Mail-* mail-related headers 4) News-* network news-related headers 5) HTTP-* HTTP-related headers 6) Local-* message store-related headers I have categorized most currently used headers in these groups at the end of this message. Local-* headers maybe can't be standardized within IETF, but the prefix "Local-" should be reserved, and it should be possible to register such headers and public specifications of them. An additional group is: 7) X-* headers without a publicly available specification In another message on the mailext@list.cren.net mailing list, I have suggested that headers that have become detrimental to the continued distribution of a message, e.g. when redistributed by a mailing list exploder, should not be removed. Instead they should be kept in the message in a harmless form, be putting "Old-" at the beginning of the header name. So another special group could be: 8) Old-* original headers that have been shut off A new mechanism for allowing interoperable use of headers that aren't registered, and whose names may clash, is possible by means of URLs (and in the future URNs). The syntax and meaning of such a header would be defined in a document whose URI (URL/URN) is given in a special header. Say that you want to use the Content-Foo header defined by company Bar at ftp://bar.com/specs/headers.txt. Then you could choose some prefix not already used, say Z-, and include in the message: Message-Header-Ext-Definition: Z; ftp://bar.com/specs/headers.txt Z-Content-Foo: ... And if you also needs the Content-Foo header, but as defined by user group Baz at ftp://baz.org/formats/foo.txt, you choose another prefix, such as: Message-Header-Ext-Definition: Y; ftp://baz.org/formats/foo.txt Y-Content-Foo: ... Currently used headers ---------------------- 1) Content-related headers -- Content-* Keywords+: Summary: Expires:* Supersedes Last-Modified* MIME-Version+* Content-ID+ Content-Description+ Content-Type+* Content-Langauge+ Content-Disposition+ Content-Encoding* Location* Lines: Content-Length* Organization:/Organisation Fax/Telefax Phone Postal 2) General communication-related headers -- Message-* From+: Sender+: Date+:* Reply-To+: Message-ID+: References+: Subject+: Comments+ Content-Transfer-Encoding+ User-Agent*/Mail-System-Version/Mailer/Originating-Client Resent-From+ Resent-Sender+ Resent-Date+ Resent-Reply-To+ Resent-Message-ID+ 3) Mail-related headers -- Mail-* Received+ Return-Path+ To+ Cc+ Bcc+ In-Reply-To+ Resent-To+ Resent-Cc+ Resent-Bcc+ 4) Network news-related headers -- News-* Newsgroups: Distribution: Followup-To: Approved: Path: Xref: Control: 5) HTTP-related headers -- HTTP-* Pragma* Authorization* If-Modified-Since* Referer* Server* WWW-Authenticate* Allow* 6) Message store-related headers -- Local-* Status Fcc + Header defined in RFC 822, MIME or other mail standard : Header defined in RFC 1036 (network news) * Header defined in HTTP 1.0 In this overview I have neglected headers from the obsolete RFC 1154, and from RFC 1327 and 1496 (X.400<->Internet Mail). /Olle -- Olle Jarnefors, Royal Institute of Technology, Stockholm <ojarnef@admin.kth.se>
- Organization of the header name space Olle Jarnefors
- Re: The last structural shortcoming of MIME: how … Glenn Adams
- Re: The last structural shortcoming of MIME: how … Keith Moore
- Re: Organization of the header name space Harald T. Alvestrand
- Re: Organization of the header name space Olle Jarnefors
- Re: The last structural shortcoming of MIME: how … Olle Jarnefors
- Re: The last structural shortcoming of MIME: how … Olle Jarnefors