Sommaire

Du bon usage de...

Usenet

Son-of-RFC 1036
News Article Format and Transmission

5. Mandatory Headers

An article MUST have one, and only one, of each of the fol- lowing headers: Date, From, Message-ID, Subject, Newsgroups, Path.

NOTE: MAIL specifies (if read most carefully) that there must be exactly one Date header and exactly one From header, but otherwise does not restrict multiple appearances of headers. (Notably, it permits multiple Message-ID headers!) This appears singularly useless, or even harmful, in the context of news, and much current news soft- ware will not tolerate multiple appearances of mandatory headers.

Note also that there are situations, discussed in the rele- vant parts of section 6, where References, Sender, or Approved headers are mandatory.

In the discussions of the individual headers, the content of each is specified using the syntax notation. The convention used is that the content of, for example, the Subject header is defined as <Subject-content>.

5.1. Date

The Date header contains the date and time when the article was submitted for transmission:

     Date-content  = [ weekday "," space ] date space time
     weekday       = "Mon" / "Tue" / "Wed" / "Thu"
                   / "Fri" / "Sat" / "Sun"
     date          = day space month space year
     day           = 1*2digit
     month         = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun"
                   / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
     year          = 4digit / 2digit
     time          = hh ":" mm [ ":" ss ] space timezone
     timezone      = "UT" / "GMT"
                   / ( "+" / "-" ) hh mm [ space "(" zone-name ")" ]
     hh            = 2digit
     mm            = 2digit
     ss            = 2digit
     zone-name     = 1*( <ASCII printable character except ()\> / space )

This is a restricted subset of the MAIL date format.

If a weekday is given, it MUST be consistent with the date. The modern Gregorian calendar is used, and dates MUST be consistent with its usual conventions; for example, if the month is May, the day must be between 1 and 31 inclusive. The year SHOULD be given as four digits, and posting agents SHOULD enforce this; however, relayers MUST accept the two- digit form, and MUST interpret it as having the implicit prefix "19".

NOTE: Two-digit year numbers can, should, and must be phased out by 1999.

The time is given on the 24-hour clock, e.g. two hours before midnight is "22:00" or "22:00:00". The hh must be between 00 and 23 inclusive, the mm between 0 and 59 inclu- sive, and the ss between 0 and 61 inclusive.

NOTE: Leap seconds very occasionally result in minutes that are 61 or 62 seconds long.

The date and time SHOULD be given in the poster's local timezone, including a specification of that timezone as a numeric offset (which SHOULD include the timezone name, e.g. "EST", supplied in parentheses like a MAIL comment). If not, they MUST be given in Universal Time (abbreviated "UT"; "GMT" is a historical synonym for "UT"). The timezone name in parentheses, if present, is a comment; software MUST ignore it, except that reading agents might wish to display it to the reader. Timezone names other than "UT" and "GMT" MUST appear only in the comment.

NOTE: Attempts to deal with a full set of timezone names have all foundered on the vast number of such names in use and the duplications (for exam- ple, there are at least FIVE different timezones called "EST" by somebody). Even the limited set of North American zone names authorized by MAIL is subject to confusion and misinterpretation. Hence the flat ban on non-UT timezone names except as comments.

NOTE: RFC 1036 specified that use of GMT (aka UT, UTC) was preferred. However, the local time (in the poster's timezone) is arguably information of possible interest to the reader, and this requires some indication of the poster's timezone. Numeric offsets are an unambiguous way of doing this, and their use was indeed sanctioned by RFC 1036 (that is, this is a change of preference only).

NOTE: There is frequent confusion, including errors in some news software, regarding the sign of numeric timezones. Zones west of Greenwich have negative offsets. For example, North Ameri- can Eastern Standard Time is zone -0500 and North American Eastern Daylight Time is zone -0400.

NOTE: Implementors are warned that the hh in a timezone can go up to about 14; it is not limited to 12. This is because the International Date Line does not run exactly along the boundary between zone -1200 and zone +1200.

NOTE: The comments in section 2.6 regarding trans- lation to other languages are relevant here. The Date-content format, and the spellings of its com- ponents, as found in articles themselves, are always as defined in this Draft, regardless of the language used to interact with readers and posters. Reading and posting agents should trans- late as appropriate. Actually, even English- language reading and posting agents will probably want to do some degree of translation on dates, if only to abbreviate the lengthy format and (perhaps) translate to and from the reader's time- zone.

5.2. From

The From header contains the electronic address, and possi- bly the full name, of the article's author:

     From-content  = address [ space "(" paren-phrase ")" ]
                   /  [ plain-phrase space ] "<" address ">"
     paren-phrase  = 1*( paren-char / space / encoded-word )
     paren-char    = <ASCII printable character except ()<>\>
     plain-phrase  = plain-word *( space plain-word )
     plain-word    = unquoted-word / quoted-word / encoded-word
     unquoted-word = 1*unquoted-char
     unquoted-char = <ASCII printable character except !()<>@,;:\".[]>
     quoted-word   = quote 1*( quoted-char / space ) quote
     quote         = <" (ASCII 34)>
     quoted-char   = <ASCII printable character except "()<>\>
     address       = local-part "@" domain
     local-part    = unquoted-word *( "." unquoted-word )
     domain        = unquoted-word *( "." unquoted-word )

(Encoded words are described in section 4.5.) The full name is distinguished from the electronic address either by enclosing the former in parentheses (making it resemble a MAIL comment, after the address) or by enclosing the latter in angle brackets. The second form is preferred. In the first form, encoded words inside the full name MUST be com- posed entirely of <paren-char>s. In the second form, encoded words inside the full name may not contain charac- ters other than letters (of either case), digits, and the characters "!", "*", "+", "-", "/", "=", and "_". The local part is case-sensitive (except that all case counterparts of "postmaster" are deemed equivalent), the domain is case- insensitive, and all other parts of the From content are comments which MUST be ignored by news software (except insofar as reading agents may wish to display them to the reader). Posters and posting agents MUST restrict them- selves to this subset of the MAIL From syntax; relayers MAY accept a broader subset, but see the discussion in section 9.1.

NOTE: The syntax here is a restricted subset of the MAIL From syntax, with quoting particularly restricted, for simple parsing. In particular, the presence of "<" in the From content indicates that the second form is being used, otherwise the first form is being used. The major restrictions here are those already de-facto imposed by exist- ing software.

NOTE: Overly-lenient posting agents sometimes per- mit the second form with a full name containing "(" or ")", but it is extremely rare for a full name to contain "<" or ">" even in mail. Accord- ingly, reading agents wishing to robustly deter- mine which form is in use in a particular article should key on the presence or absence of "<", not the presence or absence of "(".

The address SHOULD be a valid and complete Internet domain address, capable of being successfully mailed to by an Internet host (possibly via an MX record and a forwarder). The pseudo-domain ".uucp" MAY be used for hosts registered in the UUCP maps (e.g. name "xyz.uucp" for registered site "xyz"), but such hosts SHOULD discontinue this usage (either by arranging a proper Internet address and forwarder, or by using the "% hack" (see below)), as soon as possible. Bit- net hosts SHOULD use Internet addresses, avoiding the obso- lescent ".bitnet" pseudo-domain. Other forms of address MUST not be used.

NOTE: "Other forms" specifically include UK-style "backward" domains ("uk.oxbridge.cs" is in the Czech Republic, not the UK), pure-UUCP addressing ("knee!shin!foot" instead of "foot%shin@knee.uucp"), and abbreviated domains ("zebra.zoo" instead of "zebra.zoo.toronto.edu").

If it is necessary to use the local part to specify a rout- ing relative to the nearest Internet host, this MUST be done using the "% hack", using "%" as a secondary "@". For exam- ple, to specify that mail to the address should go to Inter- net host "foo.bar.edu", then to non-Internet host "ein", then to non-Internet host "deux", for delivery there to mailbox "fred", a suitable address would be:

     fred%deux%ein@foo.bar.edu

Analogous forms using "!" in the local part MUST not be used, as they are ambiguous; they should be expressed in the "%" form.

NOTE: "a!b@c" can be interpreted as either "b%c@a" or "b%a@c", and there is no consistency in which choice is made. Such addresses consequently are unreliable. The "%" form does not suffer from this problem, and although its use is officially discouraged, it is a de-facto standard, to the point that MAIL recognizes it.

Relayers MUST not, repeat MUST not, repeat MUST not, rewrite From lines, in any way, however minor or innocent-seeming. Trying to "fix" a non-conforming address has a very high probability of making things worse. Either pass it along unchanged, or reject the article.

NOTE: An additional reason for banning the use of "!" addressing is that it has a much higher proba- bility of being rewritten into mangled unrecogniz- ability by old relayers.

Posters and posting agents SHOULD avoid use of the charac- ters "!" and "@" in full names, as they may trigger unwanted header rewriting by old, simple-minded news software.

NOTE: Also, the characters "." and ",", not infre- quently found in names (e.g., "John W. Campbell, Jr."), are NOT, repeat NOT, allowed in an unquoted word. A From header like the following MUST not be written without the quotation marks:

          From: "John W. Campbell, Jr." <editor@analog.com>

5.3. Message-ID

The Message-ID header contains the article's message ID, a unique identifier distinguishing the article from every other article:

     Message-ID-content  = message-id
     message-id          = "<" local-part "@" domain ">"

As with From addresses, a message ID's local part is case- sensitive and its domain is case-insensitive. The "<" and ">" are parts of the message ID, not peculiarities of the Message-ID header.

NOTE: News message IDs are a restricted subset of MAIL message IDs. In particular, no existing news software copes properly with MAIL quoting conven- tions within the local part, so they are forbid- den. This is unfortunate, particularly for X.400 gateways that often wish to include characters which are not legal in unquoted message IDs, but it is impossible to fix net-wide. See the notes on gatewaying in section 10.

The domain in the message ID SHOULD be the full Internet domain name of the posting agent's host. Use of the ".uucp" pseudo-domain (for hosts registered in the UUCP maps) or the ".bitnet" pseudo-domain (for Bitnet hosts) is permissible, but SHOULD be avoided.

Posters and posting agents MUST generate the local part of a message ID using an algorithm which obeys the specified syn- tax (words separated by ".", with certain characters not permitted) (see section 5.2 for details), and will not repeat itself (ever). The algorithm SHOULD not generate message IDs which differ only in case of letters. Note the specification in section 6.5 of a recommended convention for indicating subject changes. Otherwise the algorithm is up to the implementor.

NOTE: The crucial use of message IDs is to distin- guish circulating articles from each other and from articles circulated recently. They are also potentially useful as permanent indexing keys, hence the requirement for permanent uniqueness... but indexers cannot absolutely rely on this because the earlier RFCs urged it but did not demand it. All major implementations have always generated permanently-unique message IDs by design, but in some cases this is sensitive to proper administration, and duplicates may have occurred by accident.

NOTE: The most popular method of generating local parts is to use the date and time, plus some way of distinguishing between simultaneous postings on the same host (e.g. a process number), and encode them in a suitably-restricted alphabet. An older but now less-popular alternative is to use a sequence number, incremented each time the host generates a new message ID; this is workable, but requires careful design to cope properly with simultaneous posting attempts, and is not as robust in the presence of crashes and other mal- functions.

NOTE: Some buggy news software considers message IDs completely case-insensitive, hence the advice to avoid relying on case distinctions. The restrictions placed on the "alphabet" of local parts and domains in section 5.2 have the useful side effect of making it unnecessary to parse mes- sage IDs in complex ways to break them into case- sensitive and case-insensitive portions.

The local part of a message ID MUST not be "postmaster" or any other string that would compare equal to "postmaster" in a case-insensitive comparison. Message IDs MUST be no longer than 250 octets, including the "<" and ">".

NOTE: "Postmaster" is an irksome exception to case-sensitivity in local parts, inherited from MAIL, and simply avoiding it is the best way to deal with it (not that it's likely, but the issue needs to be dealt with). The length limit is undesirable, but is present in widely-used exist- ing software. The limit is actually 255, but a small safety margin is wise.

5.4. Subject

The Subject header's content (the "subject" of the article) is a short phrase describing the topic of the article:

     Subject-content  = [ "Re: " ] nonblank-text

Encoded words MAY appear in this header.

If the article is a followup, the subject SHOULD begin with "Re: " (a "back reference"). If the article is not a fol- lowup, the subject MUST not begin with a back reference. Back references are case-insensitive, although "Re: " is the preferred form. A followup agent assisting a poster in preparing a followup SHOULD prepend a back reference, UNLESS the subject already begins with one. If the poster deter- mines that the topic of the followup differs significantly from what is described in the subject, a new, more descrip- tive, subject SHOULD be substituted (with no back refer- ence). An article whose subject begins with a back refer- ence MUST have a References header referencing the precur- sor.

NOTE: A back reference is FOUR characters, the fourth being a blank. RFC 1036 was confused about this. Observe also that only ONE back reference should be present.

NOTE: There is a semi-standard convention, often used, in which a subject change is flagged by mak- ing the new Subject-content of the form:

          new topic (was: old topic)

possibly with "old topic" somewhat truncated. Posters wishing to do something like this are urged to use this exact form, to simplify auto- mated analysis.

For historical reasons, the subject MUST not begin with "cmsg " (note that this sequence ends with a blank).

NOTE: Some old news software takes a subject beginning with "cmsg " as an indication that the article is a control message (see sections 6.6 and 7). This mechanism is obsolete and undesirable, but accidental triggering of it is still possible.

The subject SHOULD be terse. Posters SHOULD avoid trying to cram their entire article into the headers; even the sim- plest query usually benefits from a sentence or two of elaboration and context, and the details of header display vary widely among reading agents.

NOTE: All-in-the-subject articles are sometimes the result of misunderstandings over the interac- tion protocol of a posting agent. Posting agents might wish to give special attention to the possi- bility that a poster specifying a very long sub- ject might have thought he was typing the body of the article.

5.5. Newsgroups

The Newsgroups header's content specifies which newsgroup(s) the article is posted to:

     Newsgroups-content  = newsgroup-name *( ng-delim newsgroup-name )
     newsgroup-name      = plain-component *( "." component )
     component           = plain-component / encoded-word
     plain-component     = component-start *13component-rest
     component-start     = lowercase / digit
     lowercase           = <letter a-z>
     component-rest      = component-start / "+" / "-" / "_"
     ng-delim            = ","

Encoded words used in newsgroup names MUST not contain char- acters other than letters, digits, "+", "-", "/", "_", "=", and "?" (although they may encode them).

A newsgroup name consists of one or more components, which may be plain components or (except for the first) encoded words. A plain component MUST contain at least one letter, MUST begin with a letter or digit, and MUST not be longer than 14 characters. The first component MUST begin with a letter; subsequent components SHOULD begin with a letter. Newsgroup names MUST not contain uppercase letters, except where required by encodings in encoded words. The sequences "all" and "ctl" MUST not be used as components.

NOTE: The alphabet and syntax specified encom- passes all existing names of widespread news- groups, while avoiding various forms that are known to cause problems. Important existing soft- ware uses various non-alphanumeric characters as punctuation adjacent to newsgroup names. (It would, in fact, be preferable to ban "+" from newsgroup names, were it not that several widespread newsgroups related to the C++ program- ming language already use it.)

NOTE: Much existing software converts the news- group name into a directory path and stores the articles themselves using numeric filenames, so all-digit name components can be troublesome; the "Great Renaming" early in the history of Usenet included revisions of several newsgroup names to eliminate such components.

NOTE: The same storage technique is the reason for the 14-character limit. The limit is now largely historical, since most modern systems have much larger limits on the length of a directory entry's name, but many old systems are still in use. Sys- tems with shorter limits also exist, but news software on such systems has had to deal with the problem already, since there are several widespread newsgroups with 14-character components in their names. Implementors are warned that it is intended that the successor to this Draft will increase the 14-character limit, and are urged to fix their software to handle longer names grace- fully (if such fixes are necessary, given the intended domain of application of the particular software).

NOTE: The requirement that the first character of a name be a letter accommodates existing software which assumes it can tell the difference between a newsgroup name and other possible syntactic enti- ties by inspecting the first character. Similar considerations motivate excluding "+", "-", and "_" from coming first in a component, and the preference for components that do not begin with digits. The "all" sequence is used as a wildcard symbol in much existing software, and the "ctl" sequence was involved in an obsolete historical mechanism for marking control messages, so they are best avoided.

NOTE: Possibly newsgroup names should have been case-insensitive, but all existing software treats them as case-sensitive. (RFC 977 [rrr] claims that they are case-insensitive in NNTP, but exist- ing implementations are believed to ignore this.) The simplest solution is just to ban use of upper- case letters, since no widespread newsgroup name uses them anyway; this avoids any possibility of confusion.

NOTE: The syntax has the disadvantage of contain- ing no white space, making it impossible to con- tinue a Newsgroups header across several lines. Implementors of relayers and reading agents are warned that it is intended that the successor to this Draft will change the definition of ng-delim to:

          ng-delim = "," [ space ]

and are urged to fix their software to handle (i.e., ignore) white space following the commas. Meanwhile, posters must avoid inserting such space (despite the natural-language convention which permits it) and posting agents should strip it out.

NOTE: Encoded words as components are somewhat problematic, but are clearly desirable for use in non-English-speaking nations. They are not sub- ject to the 14-character limit, and this (plus the possibility of "/" within them) may require spe- cial handling in news software.

Encoded words are allowed in newsgroup names ONLY where non- ASCII characters are necessary to the name, and must use the "b" encoding [rrr] and the first suitable character set in the MIME order of preferred character sets [rrr].

NOTE: Since the newsgroup name is the encoded form, NOT the underlying non-ASCII form, there is room for terrible confusion here if the choice of encoding for a particular name is not fully stan- dardized.

Posters SHOULD use only the names of existing newsgroups in the Newsgroups header, because newsgroups are NOT created simply by being posted to. However, it is legitimate to cross-post to newsgroup(s) which do not exist on the posting agent's host, provided that at least one of the newsgroups DOES exist there, and followup agents MUST accept this (posting agents MAY accept it, but SHOULD at least alert the poster to the situation and request confirmation). Relayers MUST not rewrite Newsgroups headers in any way, even if some or all of the newsgroups do not exist on the relayer's host.

NOTE: Early experience with news software that created newsgroups when they were mentioned in a Newsgroups header was thoroughly negative: posters frequently mistype newsgroup names.

NOTE: While it is legitimate for some of an arti- cle's newsgroups not to exist on the host where it is posted, this IS a rather unusual situation except in followups (which should go to all news- groups the precursor was posted to, even if not all of them reach the site where the followup is being posted).

NOTE: Rewriting Newsgroups headers to strip locally-unknown newsgroups is superficially attractive. However, early experience with exactly that policy was thoroughly negative: news propagation is more redundant and much less orderly than many people imagine, and in particu- lar it is not unheard-of for the (sometimes) fastest path between two (say) U of Toronto sites to pass outside U of Toronto... in which case newsgroup stripping can cause incomplete propaga- tion. Having an article's set of newsgroups change as it propagates can also result in fol- lowups not achieving the same propagation as the original. It's been tried; it's more trouble than it's worth; don't do it.

NOTE: In particular, newsgroup stripping superfi- cially looks like a solution to the problem of duplicate regional newsgroup names. For example, both University of Toronto and University of Texas have "ut.general" newsgroups, and material cross- posted to that name and a global newsgroup appears in both universities' local newsgroups. However, the side effects of stripping are sufficiently unacceptable to disqualify it for this purpose. Don't do it.

Cross-posting an article to several relevant newsgroups is far superior to posting separate articles with duplicated content to each newsgroup, because reading agents can detect the situation and show the article to a reader only once. Posters SHOULD cross-post rather than duplicate-post.

NOTE: On the other hand, cross-posting to a large number of newsgroups usually indicates that the poster has not thought about his audience; arti- cles are rarely pertinent to more than (say) half a dozen newsgroups. Posting agents might wish to request confirmation when the number of newsgroups exceeds (say) five in the presence of a Followup- To header, or (say) two in the absence of such a header.

NOTE: One problem with cross-postings is what to do with an article cross-posted to a set of news- groups including both moderated and unmoderated ones. Posters tend to expect such an article to show up immediately in the unmoderated newsgroups, especially if they do not realize that one or more of the newsgroups is moderated. However, since it is not possible for a moderator to retroactively add an already-posted article to a moderated news- group, the only correct action is to mail such an article to one (and only one) of the moderators for action. It is probably best for the posting agent to detect this situation and ask the poster what action is preferred. The acceptable choices are to alter the newsgroup list or to mail to a moderator of the poster's choice; the posting agent should NOT offer duplicate-posting as an easy-to-request option (if only because many mod- erators will reject a submission that has already been posted to unmoderated newsgroups).

NOTE: An article cross-posted to multiple moder- ated newsgroups really should have approval from all the moderators involved. In practice, the only straightforward way to do this is to send the article to one of them and have him consult the others.

A newsgroup SHOULD not appear more than once in the News- groups header.

Newsgroup names having only one component are reserved for newsgroups whose propagation is restricted to a single host (or the administrative equivalent). It is inadvisable to name a newsgroup "poster" because that word has special meaning in the Followup-To header (see section 6.1). The names "control" and "junk" are frequently used for pseudo- newsgroups internal to relayer implementations, and hence are also best avoided.

NOTE: Beware of the duplicate-regional-newsgroup- names problem mentioned above. In particular, there are many, many hosts with a newsgroup named "general", and some surprising things show up in such newsgroups when people cross-post. It is probably better to use multi-component names, which are less likely to be duplicated. Fred's Widget House should use "fwh.general" rather than just "general" as its in-house general-topics newsgroup.

It is conventional to reserve newsgroup names beginning with "to." for test messages sent on an essentially point-to- point basis (see also the ihave/sendme protocol described in section 7.2); newsgroup names beginning with "to." SHOULD not be used for any other purpose. The second (and possibly later) components of such a name should, together, comprise the relayer name (see section 5.6) of a relayer. The news- group exists only at the named relayer and its neighbors. The neighbors all pass that newsgroup to the named relayer, while the named relayer does not pass it to anyone.

The order of newsgroup names in the Newsgroups header is not significant.

5.6. Path

The Path header's content indicates which relayers the arti- cle has already visited, so that unnecessary redundant transmission can be avoided:

     Path-content    = [ path-list path-delimiter ] local-part
     path-list       = relayer-name *( path-delimiter relayer-name )
     relayer-name    = 1*rn-char
     rn-char         = letter / digit / "." / "-" / "_"
     path-delimiter  = "!"

The Path content is a list of relayer names, separated by path delimiters, followed (after a final delimiter) by the local part of a mailing address. Each relayer MUST prepend its name, and a delimiter, to the Path content in all arti- cles it processes. A relayer MUST not pass an article to a neighboring relayer whose name is already mentioned in an article's path list, unless this is explicitly requested by the neighbor in some way. The Path content is case- sensitive.

NOTE: The Path header supplied by a posting agent should normally contain only the local part. The relayer that the posting agent passes the article to for posting will prepend its relayer name to get the path list started.

NOTE: Observe that the trailing local part is NOT part of the path list. This Path header:

          Path: fee!fie!foe!fum

contains three relayer names: "fee", "fie", and "foe". A relayer named "fum" is still eligible to be sent this article.

NOTE: This syntax has the disadvantage of contain- ing no white space, making it impossible to con- tinue a Path header across several lines. Imple- mentors of relayers and reading agents are warned that it is intended that the successor to this Draft will change the definition of path delimiter to:

          path-delimiter = "!" [ space ]

and are urged to fix their software to handle (i.e., ignore) white space following the exclama- tion points. They are urged to hurry; some ill- behaved systems reportedly already feel free to add such white space.

NOTE: RFC 1036 allows considerably more flexibil- ity in choice of delimiter, in theory, but this flexibility has never been used and most news software does not implement it properly. The grammar reflects the current reality. Note, in particular, that RFC 1036 treats "_" as a delim- iter, but in fact it is known to appear in relayer names occasionally.

Because an article will not propagate to a relayer already mentioned in its path list, the path list MUST not contain any names other than those of relayers the article has passed through AS NEWS. This is trivially obvious for nor- mal news articles, but requires attention from the modera- tors of moderated newsgroups and the implementors and main- tainers of gateways.

NOTE: For the same reason, a relayer and its neighbors need to agree on the choice of relayer name, and names should not be changed without notifying neighbors.

Relayer names need to be unique among all relayers which will ever see the articles using them. A relayer name is normally either an "official" name for the host the relayer runs on, or some other "official" name controlled by the same organization. Except in cooperating subnets that agree to some other convention, and don't let articles using it escape beyond the subnet, a relayer name MUST be either a UUCP name registered in the UUCP maps (without any domain suffix such as ".UUCP"), or a complete Internet domain name. Use of a (registered) UUCP name is recommended, where prac- tical, to keep the length of the path list down.

The use of Internet domain names in the path list presents one problem: domain names are case-insensitive, but the path list is case-sensitive. Relayers using domain names as their relayer names MUST pick a standard form for the name, and use that form consistently to the exclusion of all oth- ers. The preferred form for this purpose, which relayers SHOULD use, is the all-lowercase form.

NOTE: It is arguably unfortunate that the path list is case-sensitive, but it is much too late to change this. Most Internet sites do, in any event, use one standardized form of their name almost everywhere.

In the ordinary case, where the poster is the author of the article, the local part following the path list SHOULD be the local part of the poster's full Internet domain mailing address.

NOTE: It should be just the local part, not the full address. The character "@" does not appear in a Path header.

The Path content somewhat resembles a mailing address, par- ticularly in the UUCP world with its manual routing and "!" address syntax. Historically, this resemblance was impor- tant, and the Path content was often used as a reply address. This practice has always been somewhat unreliable, since news paths are not always mail paths and news relayer names are not always recognized by mail handlers, and its reliability has generally worsened in recent times. The widespread use of and recognition of Internet domain addresses, even outside the actual Internet, has largely eliminated the problem. Readers SHOULD not use the Path content as a reply address. On the other hand, relayer administrators are urged not to break this usage without good reason; where practical, paths followed by news SHOULD be traversable by mail, and mail handlers SHOULD recognize relayer names as host names.

It will typically be difficult or impractical for gateways and moderators to supply a Path content that is useful as a reply address for the author, bearing in mind that the path list they supply will normally be empty. (To reiterate: the path list MUST not contain any names other than those of relayers the article has passed through AS NEWS.) They SHOULD supply a local part that will result in replies to a Path-derived address being returned to the sender with a brief explanation. Software permitting, the local part "not-for-mail" is recommended.

NOTE: A moderator or gateway administrator who supplies a local part that delivers such mail to an administrative mailbox will quickly discover why it should be bounced automatically! It is best, however, for the returned message to include an explanation of what has probably happened, rather than just a mysterious "undeliverable mail" complaint, since the sender may not be aware that his/her software is unwisely using the Path con- tent as a reply address. Reply software might wish to question attempts to reply to a Path- derived address ending in "not-for-mail" (which is why a specific name is being recommended here).


6. Optional Headers

Many MAIL headers, and many of those specified in present and future MAIL extensions, are potentially applicable to news. Headers specific to MAIL's point-to-point transmis- sion paradigm, e.g. To and Cc, SHOULD not appear in news articles. (Gateways wishing to preserve such information for debugging probably SHOULD hide it under different names; prefixing "X-" to the original headers, resulting in e.g. "X-To", is suggested.)

The following optional headers are either specific to news or of particular note in news articles; an article MAY con- tain some or all of them. (Note that there are some circum- stances in which some of them are mandatory; these are explained under the individual headers.) An article MUST not contain two or more headers with any one of these header names.

NOTE: The ban on duplicate header names does not apply to headers not specified in this Draft at all, such as "X-" headers. Software should not assume that all header names in a given article are unique.

6.1. Followup-To

The Followup-To header contents specify which newsgroup(s) followups should be posted to:

     Followup-To-content = Newsgroups-content / "poster"

The syntax is the same as that of the Newsgroups content, with the exception that the magic word "poster" means that followups should be mailed to the article's reply address rather than posted. In the absence of Followup-To, the default newsgroup(s) for a followup are those in the News- groups header.

NOTE: The way to request that followups be mailed to a specific address other than that in the From line is to supply "Followup-To: poster" and a Reply-To header. Putting a mailing address in the Followup-To line is incorrect; posting agents should reject or rewrite such headers.

NOTE: There is no syntax for "no followups allowed" because "Followup-To: poster" accom- plishes this effect without extra machinery.

Although it is generally desirable to limit followups to the smallest reasonable set of newsgroups, especially when the precursor was cross-posted widely, posting agents SHOULD not supply a Followup-To header except at the poster's explicit request.

NOTE: In particular, it is incorrect for the post- ing agent to assume that followups to a cross- posted article should be directed to the first newsgroup only. Trimming the list of newsgroups should be the poster's decision, not the posting agent's. However, when an article is to be cross- posted to a considerable number of newsgroups, a posting agent might wish to SUGGEST to the poster that followups go to a shorter list.

6.2. Expires

The Expires header content specifies a date and time when the article is deemed to be no longer useful and should be removed ("expired"):

     Expires-content = Date-content

The content syntax is the same as that of the Date content. In the absence of Expires, the default is decided by the administrators of each host the article reaches, who MAY also restrict the extent to which the Expires header is hon- ored.

The Expires header has two main applications: removing arti- cles whose utility ends on a specific date (e.g., event announcements which can be removed once the day of the event is past) and preserving articles expected to be of prolonged usefulness (e.g., information aimed at new readers of a newsgroup). The latter application is sometimes abused. Since individual hosts have local policies for expiration of news (depending on available disk space, for instance), posters SHOULD not provide Expires headers for articles unless there is a natural expiration date associated with the topic. Posting agents MUST not provide a default Expires header. Leave it out and allow local policies to be used unless there is a good reason not to. Expiry dates are properly the decision of individual host administrators; posters and moderators SHOULD set only expiry dates that most administrators would agree with.

NOTE: A poster preparing an Expires header for an article whose utility ends on a specific day should typically specify the NEXT day as the expiry date. A meeting on July 7th remains of interest on the 7th.

6.3. Reply-To

The Reply-To header content specifies a reply address dif- ferent from the author's address given in the From header:

     Reply-To-content = From-content

In the absence of Reply-To, the reply address is the address in the From header.
Use of a Reply-To header is preferable to including a simi- lar request in the article body, because reply-preparation software can take account of Reply-To automatically.

6.4. Sender

The Sender header identifies the poster, in the event that this differs from the author identified in the From header:

     Sender-content = From-content

In the absence of Sender, the default poster is the author (named in the From header).

NOTE: The intent is that the Sender header have a fairly high probability of identifying the person who really posted the article. The ability to specify a From header naming someone other than the poster is useful but can be abused.

If the poster supplies a From header, the posting agent MUST ensure that a Sender header is present, unless it can verify that the mailing address in the From header is a valid mail- ing address for the poster. A poster-supplied Sender header MAY be used, if its mailing address is verifiably a valid mailing address for the poster; otherwise the posting agent MUST supply a Sender header and delete (or rename, e.g. to X-Unverifiable-Sender) any poster-supplied Sender header.

NOTE: It might be useful to preserve a poster- supplied Sender header so that the poster can sup- ply the full-name part of the content. The mail- ing address, however, must be right. Hence, the posting agent must generate the Sender header if it is unable to verify the mailing address of a poster-supplied one.

NOTE: NNTP implementors, in particular, are urged to note this requirement (which would eliminate the need for ad hoc headers like NNTP-Posting- Host), although there are admittedly some imple- mentation difficulties. A user name from an RFC 1413 server and a host name from an inverse map- ping of the address, perhaps with a "full name" comment noting the origin of the information, would be at least a first approximation:

          Sender: fred@zoo.toronto.edu (RFC-1413@reverse-lookup; not verified)

While this does not completely meet the specs, it comes a lot closer than not having a Sender header at all. Even just supplying a placeholder for the user name:

          Sender: somebody@zoo.toronto.edu (user name unknown)

would be better than nothing.

6.5. References

The References header content lists message IDs of precur- sors:

     References-content = message-id *( space message-id )

A followup MUST have a References header, and an article which is not a followup MUST not have a References header. In a followup, if the precursor had a References header, the message ID of the precursor is appended to the end of the precursor's References-content to form the followup's Refer- ences-content. a References header containing the precur- sor's message ID. A followup to an article which had a Ref- erences header MUST have a References header containing the precursor's References content, plus the precursor's message ID appended to the end of the list.

NOTE: Use the See-Also header (section 6.16) for interconnection of articles which are not in a followup relationship to each other.

NOTE: In retrospect, RFCs 850 and 1036, and the implementations whose practice they represented, erred here. The proper MAIL header to use for references to precursors is In-Reply-To, and the References header is meant to be used for the pur- poses here ascribed to See-Also. This incompati- bility is far too solidly established to be fixed, unfortunately. The best that can be done is to provide a clear mapping between the two, and urge gateways to do the transformation. The news usage is (now) a deliberate violation of the MAIL speci- fications; articles containing news References headers are technically not valid MAIL messages, although it is unlikely that much MAIL software will notice because the incompatibility is at a subtle semantic level that does not affect the syntax.

UNRESOLVED ISSUE: Would it be better to just give up and admit that news uses References for both purposes?

UNRESOLVED ISSUE: Should the syntax be generalized to include URLs as alternatives to message IDs? Perhaps not; too many things know about References already. And non-articles can't be precursors of articles, not really.

Followup agents SHOULD not shorten References headers. If it is absolutely necessary to shorten the header, as a des- perate last resort, a followup agent MAY do this by deleting some of the message IDs. However, it MUST not delete the first message ID, the last three message IDs (including that of the immediate precursor), or any message ID mentioned in the body of the followup. If it is possible for the fol- lowup agent to determine the Subject content of the articles identified in the References header, it MUST not delete the message ID of any article where the Subject content changed (other than by prepending of a back reference). The fol- lowup agent MUST not delete any message ID whose local part ends with "_-_" (underscore (ASCII 95), hyphen (ASCII 45), underscore); followup agents are urged to use this form to mark subject changes, and to avoid using it otherwise.

NOTE: As software capable of exploiting References chains has grown more common, the random shorten- ing permitted by RFC 1036 has become increasingly troublesome. ANY shortening is undesirable, and software should do it only in cases of dire neces- sity. In such cases, these rules attempt to limit the damage.

NOTE: The first message ID is very important as the starting point of the "thread" of discussion, and absolutely should not be deleted. Keeping the last three message IDs gives thread-following software a fighting chance to reconstruct a full thread even if an article or two is missing. Keeping message IDs mentioned in the body is obvi- ously desirable.

NOTE: Subject changes are difficult to determine, but they are significant as possible beginnings of new threads. The "_-_" convention is provided so that posting agents (which have more information about subjects) can flag articles containing a subject change in a way that followup agents can detect without access to the articles themselves. The sequence is chosen as one that is fairly unlikely to occur by accident.

NOTE: Is "_-_" really worth having?

When a References header is shortened, at least three blanks SHOULD be left between adjacent message IDs at each point where deletions were made. Software preparing new Refer- ences headers SHOULD preserve multiple blanks in older Ref- erences content.

NOTE: It's desirable to have some marker of where deletions occurred, but the restricted syntax of the header makes this difficult. Extra white space is not a very good marker, since it may be deleted by software that ill-advisedly rewrites headers, but at least it doesn't break existing software.

To repeat: followup agents SHOULD not shorten References headers.

NOTE: Unfortunately, reading agents and other software analyzing References patterns have to be prepared for the worst anyway. The worst includes random deletions and the possibility of circular References chains (when References is misused in place of See-Also, section 6.16).

6.6. Control

The Control header content marks the article as a control message, and specifies the desired actions (other than the usual ones of filing and passing on the article):

     Control-content  = verb *( space argument )
     verb             = 1*( letter / digit )
     argument         = 1*<ASCII printable character>

The verb indicates what action should be taken, and the argument(s) (if any) supply details. In some cases, the body of the article may also contain details. Section 7 describes the standard verbs. See also the Also-Control header (section 6.15).

NOTE: Control messages are often processed and filed rather differently than normal articles.

NOTE: The restriction of verbs to letters and dig- its is new, but is consistent with existing prac- tice and potentially simplifies implementation by avoiding characters significant to command inter- preters. Beware that the arguments are under no such restriction in general.

NOTE: Two other conventions for distinguishing control messages from normal articles were for- merly in use: a three-component newsgroup name ending in ".ctl" or a subject beginning with "cmsg " was considered to imply that the article was a control message. These conventions are obsolete. Do not use them.

An article with a Control header MUST not have an Also- Control or Supersedes header.

6.7. Distribution

The Distribution header content specifies geographic or organizational limits on an article's propagation:

     Distribution-content  = distribution *( dist-delim distribution )
     dist-delim            = ","
     distribution          = plain-component

A distribution is syntactically identical to a one-component newsgroup name, and must satisfy the same rules and restric- tions. In the absence of Distribution, the default distri- bution is "world".

NOTE: This syntax has the disadvantage of contain- ing no white space, making it impossible to con- tinue a Distribution header across several lines. Implementors of relayers and reading agents are warned that it is intended that the successor to this Draft will change the definition of dist delimiter to:

          dist-delim = "," [ space ]

and are urged to fix their software to handle (i.e., ignore) white space following the commas.

A relayer MUST not pass an article to another relayer unless configuration information specifies transmission to that other relayer of BOTH (a) at least one of the article's newsgroup(s), and (b) at least one of the article's distri- bution(s). In effect, the only role of distributions is to limit propagation, by preventing transmission of articles that would have been transmitted had the decision been based solely on newsgroups.

A posting agent might wish to present a menu of possible distributions, or suggest a default, but normally SHOULD not supply a default without giving the poster a chance to over- ride it. A followup agent SHOULD initially supply the same Distribution header as found in the precursor, although the poster MAY alter this if appropriate.

Despite the syntactic similarity and some historical confu- sion, distributions are NOT newsgroup names. The whole point of putting a distribution on an article is that it is DIFFERENT from the newsgroup(s). In general, a meaningful distribution corresponds to some sort of region of propaga- tion: a geographical area, an organization, or a cooperating subnet.

NOTE: Distributions have historically suffered from the completely uncontrolled nature of their name space, the lack of feedback to posters on incomplete propagation resulting from use of ran- dom trash in Distribution headers, and confusion with newsgroups (arising partly because many regions and organizations DO have internal news- groups with names resembling their internal dis- tributions). This has resulted in much garbage in Distribution headers, notably the pointless prac- tice of automatically supplying the first compo- nent of the newsgroup name as a distribution (which is MOST unlikely to restrict propagation!). Many sites have opted to maximize propagation of such ill-formed articles by essentially ignoring distributions. This unfortunately interferes with legitimate uses. The situation is bad enough that distributions must be considered largely useless except within cooperating subnets that make an organized effort to restrain propagation of their internal distributions.

NOTE: The distributions "world" and "local" have no standard magic meaning (except that the former is the default distribution if none is given). Some pieces of software do assign such meanings to them.

6.8. Keywords

The Keywords header content is one or more phrases intended to describe some aspect of the content of the article:

     Keywords-content = plain-phrase *( "," [ space ] plain-phrase )

Keywords, separated by commas, each follow the <plain- phrase> syntax defined in section 5.2. Encoded words in keywords MUST not contain characters other than letters (of either case), digits, and the characters "!", "*", "+", "-", "/", "=", and "_".

NOTE: Posters and posting agents are asked to take note that keywords are separated by commas, not by white space. The following Keywords header con- tains only one keyword (a rather unlikely and improbable one):

          Keywords: Thompson Ritchie Multics Linux

and should probably have been written:

          Keywords: Thompson, Ritchie, Multics, Linux

This particular error is unfortunately rather widespread.

NOTE: Reading agents and archivers preparing indexes of articles should bear in mind that user- chosen keywords are notoriously poor for indexing purposes unless the keywords are picked from a predefined set (which they are not in this case). Also, some followup agents unwisely propagate the Keywords header from the precursor into the fol- lowup by default. At least one news-based experi- ment has found the contents of Keywords headers to be completely valueless for indexing.

6.9. Summary

The Summary header content is a short phrase summarizing the article's content:

     Summary-content = nonblank-text

As with the subject, no restriction is placed on the content since it is intended solely for display to humans.

NOTE: Reading agents should be aware that the Sum- mary header is often used as a sort of secondary Subject header, and (if present) its contents should perhaps be displayed when the subject is displayed.

The summary SHOULD be terse. Posters SHOULD avoid trying to cram their entire article into the headers; even the sim- plest query usually benefits from a sentence or two of elab- oration and context, and not all reading agents display all headers.

6.10. Approved

The Approved header content indicates the mailing addresses (and possibly the full names) of the persons or entities approving the article for posting:

     Approved-content = From-content *( "," [ space ] From-content )

An Approved header is required in all postings to moderated newsgroups; the presence or absence of this header allows a posting agent to distinguish between articles posted by the moderator (which are normal articles to be posted normally) and attempted contributions by others (which should be mailed to the moderator for approval). An Approved header is also required in certain control messages, to reduce the probability of accidental posting of same; see the relevant parts of section 7.

NOTE: There is, at present, no way to authenticate Approved headers to ensure that the claimed approval really was bestowed. Nor is there an established mechanism for even maintaining a list of legitimate approvers (such a list would quickly become out of date if it had to be maintained by hand). Such mechanisms, presumably relying on cryptographic authentication, would be a worth- while extension to this Draft, and experimental work in this area is encouraged. (The problem is harder than it sounds because news is used on many systems which do not have real-time access to key servers.)

NOTE: Relayer implementors, please note well: it is the POSTING AGENT that is authorized to distin- guish between moderator postings and attempted contributions, and to mail the latter to the mod- erator. As discussed in section 9.1, relayers MUST not, repeat MUST not, send such mail; on receipt of an unApproved article in a moderated newsgroup, they should discard the article, NOT transform it into a mail message (except perhaps to a local administrator).

NOTE: RFC 1036 restricted Approved to a single From-content. However, multiple moderation is no longer rare, and multi-moderator Approved headers are already in use.

6.11. Lines

The Lines header content indicates the number of lines in the body of the article:

     Lines-content = 1*digit

The line count includes all body lines, including the signa- ture if any, including empty lines (if any) at beginning or end of the body. (The single empty separator line between the headers and the body is not part of the body.) The "body" here is the body as found in the posted article, AFTER all transformations such as MIME encodings.

Reading agents SHOULD not rely on the presence of this header, since it is optional (and some posting agents do not supply it). They MUST not rely on it being precise, since it frequently is not.

NOTE: The average line length in article bodies is surprisingly consistent at about 40 characters, and since the line count typically is used only for approximate judgements ("is this too long to read quickly?"), dividing the byte count of the body by 40 gives an estimate of the body line count that is adequate for normal use. This esti- mate is NOT adequate if the body has been MIME encoded... but neither is the Lines header, since at least one major relayer will supply a Lines header for an article that lacks one, and will not consider the possibility of MIME encodings when computing the line count.

NOTE: It would be better to have a Content-Size header as part of MIME, so that body parts could have their own sizes, and so that the units used could be appropriate to the data type (line count is not a useful measure of the size of an encoded image, for example). Doing this is preferable to trying to fix Lines.

UNRESOLVED ISSUE: Update on Content-Size?

Relayers SHOULD discard this header if they find it neces- sary to re-encode the article in such a way that the origi- nal Lines header would be rendered incorrect.

6.12. Xref

The Xref header content indicates where an article was filed by the last relayer to process it:

     Xref-content     = relayer 1*( space location )
     relayer          = relayer-name
     location         = newsgroup-name ":" article-locator
     article-locator  = 1*<ASCII printable character>

The relayer's name is included so that software can deter- mine which relayer generated the header (and specifically, whether it really was the one that filed the copy being examined). The locations specify what newsgroups the arti- cle was filed under (which may differ from those in the Newsgroups header) and where it was filed under them. The exact form of an article locator is implementation-specific.

NOTE: Reading agents can exploit this information to avoid presenting the same article to a reader several times. The information is sometimes available in system databases, but having it in the article is convenient. Relayers traditionally generate an Xref header only if the article is cross-posted, but this is not mandatory, and there is at least one new application ("mirroring": keeping news databases on two hosts identical) where the header is useful in all articles.

NOTE: The traditional form of an article locator is a decimal number, with articles in each news- group numbered consecutively starting from 1. NNTP [rrr] demands that such a model be provided, and there may be other software which expects it, but it seems desirable to permit flexibility for unorthodox implementations.

A relayer inserting an Xref header into an article MUST delete any previous Xref header. A relayer which is not inserting its own Xref header SHOULD delete any previous Xref header. A relayer MAY delete the Xref header when passing an article on to another relayer.

NOTE: RFC 1036 specified that the Xref header was not transmitted when an article was passed to another relayer, but the major news implementa- tions have never obeyed this rule, and applica- tions like mirroring depend on this disobedience.

A relayer MUST use the same name in Xref headers as it uses in Path headers. Reading agents MUST ignore an Xref header containing a relayer name that differs from the one that begins the path list.

6.13. Organization

The Organization header content is a short phrase identify- ing the poster's organization:

     Organization-content = nonblank-text

This header is typically supplied by the posting agent. The Organization content SHOULD mention geographical location (e.g. city and country) when it is not obvious from the organization's name.

NOTE: The motive here is that the organization is often difficult to guess from the mailing address, is not always supplied in a signature, and can help identify the poster to the reader.

NOTE: There is no "s" in "Organization".

The Organization content is provided for identification only, and does not imply that the poster speaks for the organization or that the article represents organization policy. Posting agents SHOULD permit the poster to override a local default Organization header.

6.14. Supersedes

The Supersedes header content specifies articles to be can- celled on arrival of this one:

     Supersedes-content = message-id *( space message-id )

Supersedes is equivalent to Also-Control (section 6.15) with an implicit verb of "cancel" (section 7.1).

NOTE: Supersedes is normally used where the arti- cle is an updated version of the one(s) being can- celled.

NOTE: Although the ability to use multiple message IDs in Supersedes is highly desirable (see section 7.1), posters are warned that existing implementa- tions often do not correctly handle more than one.

NOTE: There is no "c" in "Supersedes".

An article with a Supersedes header MUST not have an Also- Control or Control header.

6.15. Also-Control

The Also-Control header content marks the article as being a control message IN ADDITION to being a normal news article, and specifies the desired actions:

     Also-Control-content = Control-content

An article with an Also-Control header is filed and passed on normally, but the content of the Also-Control header is processed as if it were found in a Control header.

NOTE: It is sometimes desirable to piggyback con- trol actions on a normal article, so that the article will be filed normally but will also be acted on as a control message. This header is essentially a generalization of Supersedes.

NOTE: Be warned that some old relayers do not implement Also-Control.

An article with an Also-Control header MUST not have a Con- trol or Supersedes header.

6.16. See-Also

The See-Also header content lists message IDs of articles that are related to this one but are not its precursors:

     See-Also-content = message-id *( space message-id )

See-Also resembles References, but without the restrictions imposed on References by the followup rules.

NOTE: See-Also provides a way to group related articles, such as the parts of a single document that had to be split across multiple articles due to its size, or to cross-reference between paral- lel threads.

NOTE: See the discussion (in section 6.5) on MAIL compatibility issues of References and See-Also.

NOTE: In the specific case where it is desired to essentially make another article PART of the cur- rent one, e.g. for annotation of the other arti- cle, MIME's "message/external-body" convention can be used to do so without actual inclusion. "news- message-ID" was registered as a standard external- body access method, with a mandatory NAME parame- ter giving the message ID and an optional SITE parameter suggesting an NNTP site that might have the article available (if it is not available locally), by IANA 22 June 1993.

UNRESOLVED ISSUE: Could the syntax be generalized to include URLs as alternatives to message IDs? Here it makes much more sense than in References.

6.17. Article-Names

The Article-Names header content indicates any special sig- nificance the article may have in particular newsgroups:

     Article-Names-content  = 1*( name-clause space )
     name-clause            = newsgroup-name ":" article-name
     article-name           = letter 1*( letter / digit / "-" )

Each name clause specifies a newsgroup (which SHOULD be among those in the Newsgroups header) and an article name local to that newsgroup. Article names MAY be used by relayers to file the article in special ways, or they MAY just be noted for possible special attention by reading agents. Article names are case-sensitive.

NOTE: This header provides a way to mark special postings, such as introductions, frequently-asked- question lists, etc., so that reading agents have a way of finding them automatically. The news- group name is specified for each article name because the names may be newsgroup-specific; for example, many frequently-asked-question lists are posted to "news.answers" in addition to their "home" newsgroup, and they would not be known by the same name(s) in both newsgroups.

The Article-Names header SHOULD be ignored unless the arti- cle also contains an Approved header.

NOTE: This stipulation is made in anticipation of the possibility that Approved headers will be involved in cryptographic authentication.

The presence of an Article-Names header does not necessarily imply that the article will be retained unusually long before expiration, or that previous article(s) with similar Article-Names headers will be cancelled by its arrival. Posters preparing special postings SHOULD include appropri- ate other headers, such as Expires and Supersedes, to request such actions.

Different networks MAY establish different sets of article names for the special postings they deem significant; it is preferable for usage to be standardized within networks, although it might be desirable for individual newsgroups to have different naming conventions in some situations. Arti- cle names MUST be 14 characters or less. The following names are suggested but are not mandatory:

intro
Introduction to the newsgroup for newcomers.
charter
Charter, rules, organization, moderation poli- cies, etc.
background
Biographies of special participants, history of the newsgroup, notes on related newsgroups, etc.
subgroups
Descriptions of sub-newsgroups under this news- group, e.g. "sci.space.news" under "sci.space".
facts
Information relating to the purpose of the news- group, e.g. an acronym glossary in "sci.space".
references
Where to get more information: books, journals, FTP repositories, etc.
faq
Answers to frequently-asked questions.
menu
If present, a list of all the other article names local to this newsgroup, with brief descriptions of their contents.

Such articles may be divided into subsections using the MIME "multipart/mixed" conventions. If size considerations make it necessary to split such articles, names ending in a hyphen and a part number are suggested; for example, a three-part frequently-asked-questions list could have arti- cle names "faq-1", "faq-2", and "faq-3".

NOTE: It is somewhat premature to attempt to stan- dardize article names, since this is essentially a new feature with no experience behind it. How- ever, if reading agents are to attach special sig- nificance to these names, some attempt at standard conventions is imperative. This is a first attempt at providing some.

6.18. Article-Updates

The Article-Updates header content indicates what previous articles this one is deemed (by the poster) to update (i.e., replace):

     Article-Updates-content  = message-id *( space message-id )

Each message ID identifies a previous article that this one is deemed to update. This MUST not cause the previous arti- cle(s) to be cancelled or otherwise altered, unless this is implied by other headers (e.g. Supersedes); Article-Updates is merely an advisory which MAY be noted for special atten- tion by reading agents.

NOTE: This header provides a way to mark articles which are only minor updates of previous ones, containing no significant new information and not worth reading if the previous ones have been read.

NOTE: If suitable conventions using MIME multipart bodies and the "message/external-body" body-part type can be developed, a replacing article might contain only differences between the old text and the new text, rather than a complete new copy. This is the motivation for not making Article- Updates also function as Supersedes does: the replacing article might depend on the continued presence of the replaced article.


[Part 1] [Part 2] [Part 3] [Annexes]

Valid XHTML 1.0! Retour au sommaire Valid CSS!