Conflicting Advice from the RFCs
The earliest reference in the RFCs seems to be 561 (1973), which uses "header" as a collective term for a series of "headeritems":
Formal Syntax: <mailtext> ::= <header> <crlf> <message> <header> ::= <headeritem> ! <headeritem> <header> <headeritem> ::= <item> <crlf> <item> ::= <authoritem> ! <dateitem> ! <subjectitem> ! <miscitem>
By 733 (1977), though, "header field" or "headeritem" was frequently shortened to just "header."
A message consists of headers and, optionally, a body (i.e. a series of text lines). The text part is just a sequence of lines containing ASCII characters; it is separated from the headers by a null line (i.e., a line with nothing preceding the CRLF).
2076, "Common Internet Message Headers," makes a distinction between the "heading" and "headers" in the heading as follows:
- heading: Formatted text at the top of a message, ended by a blank line
- header = heading field: One field in the heading, beginning with a field name, colon, and followed by the field value(s)
RFC 5322, "Internet Message Format" calls the group of "header fields" the "header section":
"A message consists of header fields (collectively called 'the header section of the message') followed, optionally, by a body. The header section is a sequence of lines of characters with special syntax as defined in this specification. The body is simply a sequence of characters that follows the header section and is separated from the header section by an empty line (i.e., a line with nothing preceding the CRLF).
"Note: Common parlance and earlier versions of this specification use the term 'header' to either refer to the entire header section or to refer to an individual header field. To avoid ambiguity, this document does not use the terms 'header' or 'headers' in isolation, but instead always uses 'header field' to refer to the individual field and 'header section' to refer to the entire collection."
Definition of 'header' on this wiki
As a general rule, unless otherwise indicated, you may understand 'header' to mean "an individual header field within the header section of an e-mail or Usenet post."
Handy Usenet Headers
Headers Needed for RFDs
Examples of headers ("heading fields" or "header fields") with which proponents should be or become familiar:
- Newsgroups: The newsgroups to which the post will circulate.
- Subject: The subject of the post.
- From: The Usenet identity of the person sending the post.
- Followup-To: The newsgroup to which replies to the post will be sent (unless overridden by a respondent).
- Archive-Name: The name of the newsgroup affected by an RFD or the name of a proposal about several newsgroups.
- Message-ID: A unique alpha-numeric identifier for each post made to Usenet.
Reading Message Headers
The art of interpreting headers goes beyond the scope of this note. Usenet posts can pick up (or lose) a lot of headers in transit.
Path: border1.nntp.dca.giganews.com!nntp.giganews.com!news.alt.net!news.kjsl.com!usenet.stanford.edu!panix!nan.panix.com!robomod!not-for-mail From: Big-8 Management Board <email@example.com> Newsgroups: news.announce.newgroups,news.groups.proposals,comp.archives.msdos.announce Subject: RFD: comp.archives.msdos.announce moderated (remove) LAST CALL FOR COMMENTS Followup-To: news.groups.proposals Date: Sun, 13 Dec 2009 18:25:50 EST Organization: albasani.net Lines: 84 Approved: Moderator of news.announce.newgroups <firstname.lastname@example.org>, NGP Approval Key <email@example.com> Message-ID: <firstname.lastname@example.org> References: <email@example.com> <firstname.lastname@example.org> NNTP-Posting-Host: panix6.panix.com X-Trace: reader1.panix.com 1260746750 22049 22.214.171.124 (13 Dec 2009 23:25:50 GMT) X-Complaints-To: email@example.com NNTP-Posting-Date: Sun, 13 Dec 2009 23:25:50 +0000 (UTC) X-NAN-Policy: http:''www.panix.com/~nan/ X-NAN-Info-1: Send submissions to firstname.lastname@example.org X-NAN-Info-2: Send technical complaints to email@example.com X-NAN-Info-3: Send complaints about policy to firstname.lastname@example.org X-NAN-Info-4: GnuPG 1.4.5 Public Key at http:''www.panix.com/~nan/gpg.html X-Comment-1: The moderators do not necessarily agree or disagree with this article. X-Comment-2: Moderators do not verify the accuracy of posted information. X-Comment-3: Acceptance does not convey approval of any external references. X-Robomod: STUMP, email@example.com (Igor Chudov), C++/Perl/Unix Consulting X-Moderation-1: Hassle-Free commercial hosting of moderation sites available X-Moderation-2: See http:''www.algebra.com/~ichudov/stump Archive-Name: comp.archives.msdos.announce Old-X-Complaints-To: firstname.lastname@example.org Old-NNTP-Posting-Date: Sun, 13 Dec 2009 22:36:38 +0000 (UTC) X-User-ID: lZ3cCK3nWs3aeInKi4nsYyYoZASfbUKrTZF+KDqix5XRNV0g1VHMEVPwXtRQuoiohjyRJDRSB6IgZqrwYUM/jw====== Cancel-Lock: sha1:Zn3Ra8elGSMyKlv24lMXUV0j4p0= X-NNTP-Posting-Host: YufzFyzK+7FF/JKXRsyyQFKYeOIVNXIU2BWA/PKAtWg= X-Auth: PGPMoose V2.0 PGP news.announce.newgroups iEYEARECAAYFAksld/4ACgkQXMotZRinPKm1ZACeLHA5R8A/uBFel3pm6VUJ3o9I k38AoJXldxnZHDk+9sjzW5vX7m8nYYFy =5KfA X-Auth: PGPMoose V2.0 PGP news.groups.proposals iEYEARECAAYFAksld/4ACgkQrPkQbuk9hdu1ZACgpXYtAuhXYtjNmVlMzjnaFYvR KwoAoIEIAogIaIqKU05eytd9xoiXrY7d =Uhq6 Bytes: 5284 Xref: number.nntp.dca.giganews.com comp.archives.msdos.announce:10840 news.groups.proposals:5542 news.announce.newgroups:6454
How to Set a Header
There is no universal method for creating a Usenet header. Each newsreader takes its own approach.
How to View Headers
Each newsreader has its own method for displaying message headers.
This tutorial shows two methods for finding the Message-ID of Usenet Posts.