TOC 
Network Working GroupF. Ellermann
Internet-Draftxyzzy
Obsoletes: 1738 (if approved)April 02, 2008
Intended status: Standards Track 
Expires: October 4, 2008 


The 'news' and 'nntp' URI Schemes
draft-ellermann-news-nntp-uri-11

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

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.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on October 4, 2008.

Abstract

This memo specifies the 'news' and 'nntp' Uniform Resource Identifier (URI) schemes that were originally defined in RFC 1738. The purpose of this document is to allow RFC 1738 to be made obsolete while keeping the information about these schemes on standards track.

Editorial note

In the collected ABNF (Collected ABNF) the NEWS in RFC NEWS should be replaced by the RFC number for [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.). In Section 8 (IANA Considerations) RFCXXXX is a placeholder for this memo. This note and the document history (Document History) should be removed before publication.



Table of Contents

1.  Introduction
2.  Background
    2.1.  'nntp' URIs
    2.2.  'news' URIs
    2.3.  Query parts, fragments, and normalization
3.  Syntax of 'nntp' URIs
4.  Syntax of 'news' URIs
5.  Acknowledgments
6.  Internationalization Considerations
7.  Security Considerations
8.  IANA Considerations
    8.1.  'snews' URIs
    8.2.  'news-message-ID' access type
9.  References
    9.1.  Normative References
    9.2.  Informative References
Appendix A.  Collected ABNF
Appendix B.  Detailed example
Appendix C.  Document History
§  Author's Address
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction

The first definition for many URI schemes appeared in [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.). This memo extracts the 'news' and 'nntp' URI schemes from it to allow that material to remain on standards track if [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) is moved to "historic" status. It belongs to a series of similar documents like [RFC4156] (Hoffman, P., “The wais URI Scheme,” August 2005.), [RFC4157] (Hoffman, P., “The prospero URI Scheme,” August 2005.), [RFC4248] (Hoffman, P., “The telnet URI Scheme,” October 2005.), and [RFC4266] (Hoffman, P., “The gopher URI Scheme,” November 2005.) discussed on the mailto:uri@w3.org list.

The definitions for the 'news' and 'nntp' URI schemes given here are updates from [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) based on modern usage of these schemes. This memo intentionally limits its description of the 'news' URI scheme to essential features supposed to work with "any browser" and NNTP server.

[RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) specifies how to define schemes for URIs, it also explains the term "Uniform Resource Locator" (URL). The Network News Transfer Protocol (NNTP) is specified in [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.). The Netnews Article Format is defined in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.).

The key word "MUST" in this memo is to be interpreted as described in [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.). UTF-8 is specified in [RFC3629] (Yergeau, F., “UTF-8, a transformation format of ISO 10646,” November 2003.). The syntax uses the ABNF defined in [RFC5234] (Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” January 2008.).



 TOC 

2.  Background

The 'news' and 'nntp' URI schemes identify resources on an NNTP server, individual articles, individual newsgroups, or sets of newsgroups.

User agents like Web browsers supporting these schemes use the NNTP protocol to access the corresponding resources. The details of how they do this, e.g., employing a separate or integrated newsreader, depend on the implementation. The default <port> associated with NNTP in [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) is 119.



 TOC 

2.1.  'nntp' URIs

The 'nntp' URI scheme identifies articles in a newsgroup on a specific NNTP server. In [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) terminology this means that 'nntp' URIs have a non-empty <authority> component, there is no default <host> as for the 'file' or 'news' URI schemes.

Netnews is typically distributed among several news servers, using the same newsgroup names, but local article numbers. An article available as number 10 in group example on server news.example.com has most likely a different number on any other server where the same article is still available. Users allowed to read and post articles on "their" server may not be allowed to access articles on an "arbitrary" server specified in an 'nntp' URI.

For these reasons the use of the 'nntp' URI scheme is limited, and it is less widely supported by user agents than the similar 'news' URI scheme.



 TOC 

2.2.  'news' URIs

The 'news' URI scheme identifies articles by their worldwide unique Message-ID, independent of the server and the newsgroup. Newsreaders support access to articles by their Message-ID, without the overhead of an URI scheme. In simple cases they do this directly as NNTP client of a default or currently used server as configured by the user. More general user agents use the 'news' URI scheme to distinguish Message-IDs from similar constructs such as other URI schemes in contexts such as a plain text message body.

The 'news' URI scheme also allows the identification of newsgroups or sets of newsgroups independent of a specific server. For Netnews a group example has the same name on any server carrying this group, exotic cases involving gateways not withstanding. To distinguish Message-IDs and newsgroup names the 'news' URI scheme relies on the @ between local part (left hand side) and domain part (right hand side) of Message-IDs.

[RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) offered only one wildcard for sets of newsgroups in 'news' URIs, a * used to refer to "all available newsgroups". In common practice this was extended to varying degrees by different user agents, an NNTP extension known as <wildmat> specified in [RFC2980] (Barber, S., “Common NNTP Extensions,” October 2000.) and now part of the base NNTP specification allows pattern matching in the style of the [POSIX] (Institute of Electrical and Electronics Engineers, “The Open Group Base Specifications Issue 6,” .) find command. For the purpose of this memo this means that some additional special characters have to be allowed in 'news' URIs, some of them percent-encoded as required by the overall [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) URI syntax. User agents and NNTP servers not yet compliant with [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) do not implement all parts of this new feature.

Another commonly supported addition to the [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) syntax is the optional specification of a server at the beginning of 'news' URIs. This optional <authority> component follows the overall [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) syntax preceded by a double slash // and terminated by the next slash /, question mark ?, number sign #, or the end of the URI.



 TOC 

2.3.  Query parts, fragments, and normalization

Fragments introduced by a number sign # are specified in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.), the semantics is independent of the URI scheme, the resolution depends on the media type.

This memo doesn't specify a query part introduced by a question mark ? for the 'news' and 'nntp' URI schemes, but some implementations are known to use query parts instead of fragments internally to address parts of a composite media type [RFC2046] (Freed, N. and N. Borenstein, “Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types,” November 1996.) in Multipurpose Internet Mail Extensions (MIME).

There are no special . or .. path segments in 'news' and 'nntp' URLs. Please note that . and .. are not valid <newsgroup-name>s.

URI producers have to percent-encode some characters as specified below (Syntax of 'news' URIs), otherwise they MUST treat a Message-ID without angle brackets for 'news' URLs as is, i.e. case-sensitive, preserving quoted pairs and quoted strings.



 TOC 

3.  Syntax of 'nntp' URIs

An 'nntp' URI identifies an article by its number in a given newsgroup on a specified server, or it identifies the newsgroup without article number.

    nntpURL         = "nntp:" server "/" group [ "/" article-number ]
    server          = "//" authority               ; see RFC 3986
    group           = 1*( group-char / pct-encoded )
    article-number  = 1*16DIGIT                    ; see RFC 3977
    group-char      = ALPHA / DIGIT / "-" / "+" / "_" / "."

In the form with an <article-number> the URL corresponds roughly to the content of an <xref> header field as specified in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.), replacing its more general <article‑locator> by the <article‑number> used with NNTP.

A <newsgroup-name> as specified in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.) consists of dot-separated components. Each component contains one or more letters, digits, - (hyphen-minus), +, or _ (underscore). These characters can be directly used in a segment of a path in a [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) URI, no percent-encoding is necessary. Example:

    nntp://news.server.example/example.group.this/12345

A <wildmat-exact> newsgroup name as specified in [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) allows (in theory) any <UTF8-non-ascii>, see Section 6 (Internationalization Considerations), and most printable US‑ASCII characters excluding !, *, ,, ?, [, \, and ]. However, [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.) does not (yet) permit characters outside of <group-char> and so, to keep the syntax simple, the additional characters are here covered by <pct-encoded> as defined in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.), since most of them have to be percent-encoded anyway (with a few exceptions such as :, ;, and ~). For example:

    nntp://wild.server.example/example.group.n%2Fa/12345

In the form without <article-number> the URL identifies a single group on the specified server. This is also possible with an equivalent 'news' URL, and the latter is better supported by user agents, example:

    nntp://news.server.example/example.group.this
    news://news.server.example/example.group.this


 TOC 

4.  Syntax of 'news' URIs

A 'news' URI identifies an article by its unique Message-ID, or it identifies a set of newsgroups. Additionally it can specify a server, without it a configured default server for Netnews access is used.

The syntax shown below explains how to transform a syntactically valid <newsgroup-name> or <msg-id-core> as specified in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.) into the corresponding <newsgroups> or <article> part of a 'news' URI. The transformation from a formally valid 'news' URI back to a <newsgroup-name> or <msg-id-core> is not guaranteed to be syntactically valid.

    newsURL         = "news:" [ server "/" ] ( article / newsgroups )
    article         = mid-left "@" mid-right
    newsgroups      = *( group-char / pct-encoded / "*" )

    mid-left        = 1*( mid-atext / "." ) /      ; <dot-atom-text>
                      ( "%22" mid-quote "%22" )    ; <no-fold-quote>
    mid-quote       = 1*( mid-atext / "." /        ; <mqtext> incl.
                          mid-special /            ; '\"' / "[" / "]"
                          "%5C%22" / "%5B" / "%5D" )

    mid-right       = 1*( mid-atext / "." ) /      ; <dot-atom-text>
                      ( "%5B" mid-literal "%5D" )  ; <no-fold-literal>
    mid-literal     = 1*( mid-atext / "." /        ; <mdtext> incl.
                          mid-special /            ; '"' / "\[" / "\]"
                          "%22" / "%5C%5B" / "%5C%5D" )

    mid-special     = "(" / ")" / "," / ":" / ";" /
                      "%3C" / "%40" / "%5C%5C"     ; "<" / "@" / "\\"

    mid-atext       = ALPHA / DIGIT /              ; RFC 2822 <atext>
                      "!" / "$" / "&" / "'" /      ; allowed sub-delims
                      "*" / "+" / "=" /            ; allowed sub-delims
                      "-" / "_" / "~" /            ; allowed unreserved
                      "%23" / "%25" / "%2F" /      ; "#" / "%" / "/"
                      "%3F" / "%5E" / "%60" /      ; "?" / "^" / "`"
                      "%7B" / "%7C" / "%7D"        ; "{" / "|" / "}"

The form identifying an <article> corresponds to the <msg-id-core> construct in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.), it is a Message-ID without angle brackets. Characters not directly allowed in this part of an [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) URI have to be percent-encoded, minimally anything that is not <unreserved>, no : (colon), and doesn't belong to the <sub‑delims>.

Several details of a canonical <msg-id-core> are omitted here, e.g., leading, adjacent, or trailing dots are not allowed in <dot‑atom‑text>. The syntax mainly shows which characters MUST be percent-encoded in a <mid-left> (local part) or <mid-right> (domain part).

Please note that %20 (space) and %3E (>) are not allowed. A %5C (backslash \) can only occur in four combinations as shown above. Examples:

    news://server.example/ab.cd@example.com
    news:%22do..ts%22@example.com
    news:ab.cd@%5B2001:DB8::CD30%5D

The form identifying <newsgroups> corresponds to the [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) <wildmat‑pattern>, a newsgroup name with wildcards * and ?. Any ? has to be percent-encoded as %3F in this part of an URI. Examples, the first two are equivalent:

    news://news.server.example/*
    news://news.server.example/
    news://wild.server.example/example.group.th%3Fse
    news:example.group.*
    news:example.group.this

Without wildcards this form of the URL identifies a single group if it is not empty, and user agents would typically try to present an overview of the articles available in this group, likely somehow limiting this overview to the newest unread articles up to a configured maximum.

With wildcards user agents could try to list matching group names on the specified or default server. Some user agents support only a specific <group> without wildcards, or an optional single *.

As noted above ('news' URIs) the presence of an @ in a 'news' URI disambiguates <article> and <newsgroups> for URI consumers. The new <message-id> construct specified in [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) does not require an @. Since [RFC0822] (Crocker, D., “Standard for the format of ARPA Internet text messages,” August 1982.) the Message-ID syntax was closely related to the syntax of mail addresses with an @ separating left hand side (local part of addresses, unique part of message identifiers) and right hand side (domain part), and this memo sticks to the known [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) practice.



 TOC 

5.  Acknowledgments

Henry Spencer was the driving force to adopt MIME in Netnews, he registered the MIME 'message/external-body' access type 'news‑message‑ID' discussed below ('news-message-ID' access type) in 1993 for [son‑of‑1036] (Spencer, H., “News Article Format and Transmission,” June 1994.).

The Internet Drafts [I‑D.gilman‑news‑url] (Gilman, A., “The 'news' URL scheme,” March 1998.) by Alfred S. Gilman published 1998 introduced additions to the original [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) 'news' URI scheme. Some of these ideas are now widely supported and reflected by the revised 'news' URI scheme specified here.

Thanks to Alfred Hönes, Charles Lindsey, Clive Feather, Chris Newman, Ken Murchinson, Kjetil T. Homme, Lars Magne Ingebrigtsen, Martin Dürst, Matt Seitz, Nicolas Krebs, Paul Hoffman, Pasi Eronen, Roy T. Fielding, Russ Allbery, Stéphane Bortzmeyer, and Tom Petch for their feedback, contributions, or encouragement.

Bill Fenner's xml2rfc validator and ABNF checker were a great help in the creation of (not only) this memo. The same goes for various great IETF tools written by Henrik Levkowetz.



 TOC 

6.  Internationalization Considerations

The URI schemes were updated to support percent-encoded UTF-8 characters in NNTP newsgroup names as specified in [RFC3977] (Feather, C., “Network News Transfer Protocol (NNTP),” October 2006.) and [RFC3987] (Duerst, M. and M. Suignard, “Internationalized Resource Identifiers (IRIs),” January 2005.).

The Netnews Article Format in [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.) does not yet allow UTF-8 in <newsgroup-name>s, therefore well-known Unicode and UTF-8 security considerations are not listed below. For an overview see [UTR36] (Davis, M. and M. Suignard, “Unicode Security Considerations,” August 2006.) and [RFC3629] (Yergeau, F., “UTF-8, a transformation format of ISO 10646,” November 2003.).

The work on E-mail Address Internationalization (EAI) started in [RFC4952] (Klensin, J. and Y. Ko, “Overview and Framework for Internationalized Email,” July 2007.) is not expected to change the syntax of a Message-ID. The work on a successor of [RFC2822] (Resnick, P., “Internet Message Format,” April 2001.) hopefully ends up with a simplified syntax for both sides of a Message-ID.



 TOC 

7.  Security Considerations

There are many security considerations for URI schemes discussed in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.). The NNTP protocol may use passwords in the clear for authentication, or offer no privacy, both of which are considered extremely unsafe in current practice. Alternatives and further security considerations with respect to NNTP are discussed in [RFC4642] (Murchison, K., Vinocur, J., and C. Newman, “Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP),” October 2006.) and [RFC4643] (Vinocur, J. and K. Murchison, “Network News Transfer Protocol (NNTP) Extension for Authentication,” October 2006.).

The syntax for the 'news' and 'nntp' URI schemes contains the general <authority> construct with an optional <userinfo> defined in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.). As noted in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) the user:password form of a <userinfo> is deprecated.

Articles on NNTP servers typically expire after some time. After that time corresponding 'news' and 'nntp' URLs won't work anymore depending on the server. While a Message-ID is supposed to be worldwide unique forever the NNTP protocol does not guarantee this. Under various conditions depending on the servers the same Message-ID could be used for different articles, and attackers could try to distribute malicious content for known 'news' or 'nntp' URLs.

If an URI does not match the generic syntax in [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) it is invalid, and broken URIs can cause havoc. Compare [RFC5064] (Duerst, M., “The Archived-At Message Header Field,” December 2007.) for similar security considerations.



 TOC 

8.  IANA Considerations

The IANA registry of URI schemes should be updated to point to this memo instead of [RFC1738] (Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” December 1994.) for the 'news' and 'nntp' URI schemes.



 TOC 

8.1.  'snews' URIs

This section contains the [RFC4395] (Hansen, T., Hardie, T., and L. Masinter, “Guidelines and Registration Procedures for New URI Schemes,” February 2006.) template for the registration of the historical 'snews' scheme specified in [I‑D.gilman‑news‑url] (Gilman, A., “The 'news' URL scheme,” March 1998.).

URI scheme name:
snews
Status:
historical
URI scheme syntax:
Same as for 'news' (Syntax of 'news' URIs)
URI scheme semantics:
Syntactically equivalent to 'news', but using NNTP over SSL/TLS (SSL/TLS with security layer is negotiated immediately after establishing the TCP connection) with a default port of 563, registered as nntps
Encoding considerations:
Same as for 'news' (Internationalization Considerations)
Applications/protocols that use this URI scheme name:
For some user agents 'snews' URLs trigger the use of nntps instead of NNTP for their access on Netnews
Interoperability considerations:
This URI scheme was not widely deployed, its further use is deprecated in favour of ordinary 'news' URLs in conjunction with NNTP servers supporting [RFC4642] (Murchison, K., Vinocur, J., and C. Newman, “Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP),” October 2006.)
Security considerations:
See [RFC4642] (Murchison, K., Vinocur, J., and C. Newman, “Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP),” October 2006.), the use of a dedicated port for secure variants of a protocol was discouraged in [RFC2595] (Newman, C., “Using TLS with IMAP, POP3 and ACAP,” June 1999.)
Contact:
mailto:uri@w3.org (URI mailing list)
Change controller:
IETF
References:
RFCXXXX, [RFC4642] (Murchison, K., Vinocur, J., and C. Newman, “Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP),” October 2006.), [I‑D.gilman‑news‑url] (Gilman, A., “The 'news' URL scheme,” March 1998.)


 TOC 

8.2.  'news-message-ID' access type

The MIME 'news-message-ID' access type was erroneously listed as subtype. IANA should remove 'news-message-ID' from the application subtype registry, and add it to the access type registry defined in [RFC4289] (Freed, N. and J. Klensin, “Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures,” December 2005.): http://www.iana.org/assignments/access-types.

[RFC4289] (Freed, N. and J. Klensin, “Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures,” December 2005.) requires an RFC for the access types registry. Because [son‑of‑1036] (Spencer, H., “News Article Format and Transmission,” June 1994.) was never published as RFC the following paragraph quotes the relevant definition:

NOTE: In the specific case where it is desired to essentially make another article PART of the current one, e.g. for annotation of the other article, 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 parameter 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.

Please note that 'news' URLs offer a very similar and (today) more common way to access articles by their Message-ID, compare [RFC2017] (Freed, N. and K. Moore, “Definition of the URL MIME External-Body Access-Type,” October 1996.).



 TOC 

9.  References



 TOC 

9.1. Normative References

[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC3977] Feather, C., “Network News Transfer Protocol (NNTP),” RFC 3977, October 2006 (TXT).
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” STD 66, RFC 3986, January 2005 (TXT, HTML, XML).
[RFC5234] Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” STD 68, RFC 5234, January 2008 (TXT).
[I-D.ietf-usefor-usefor] Lindsey, C., “Netnews Article Format,” draft-ietf-usefor-usefor-12 (work in progress), January 2007 (TXT).


 TOC 

9.2. Informative References

[RFC0822] Crocker, D., “Standard for the format of ARPA Internet text messages,” STD 11, RFC 822, August 1982 (TXT).
[son-of-1036] Spencer, H., “News Article Format and Transmission,” June 1994.
[RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, “Uniform Resource Locators (URL),” RFC 1738, December 1994 (TXT).
[RFC2017] Freed, N. and K. Moore, “Definition of the URL MIME External-Body Access-Type,” RFC 2017, October 1996 (TXT, HTML, XML).
[RFC2046] Freed, N. and N. Borenstein, “Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types,” RFC 2046, November 1996 (TXT).
[I-D.gilman-news-url] Gilman, A., “The 'news' URL scheme,” Internet draft-gilman-news-url-02, March 1998 (TXT).
[RFC2595] Newman, C., “Using TLS with IMAP, POP3 and ACAP,” RFC 2595, June 1999 (TXT).
[RFC2822] Resnick, P., “Internet Message Format,” RFC 2822, April 2001 (TXT).
[RFC2980] Barber, S., “Common NNTP Extensions,” RFC 2980, October 2000 (TXT).
[RFC3629] Yergeau, F., “UTF-8, a transformation format of ISO 10646,” STD 63, RFC 3629, November 2003 (TXT).
[POSIX] Institute of Electrical and Electronics Engineers, “The Open Group Base Specifications Issue 6,” IEEE Standard 1003.1, 2004 edition.
[RFC3987] Duerst, M. and M. Suignard, “Internationalized Resource Identifiers (IRIs),” RFC 3987, January 2005 (TXT).
[RFC4156] Hoffman, P., “The wais URI Scheme,” RFC 4156, August 2005 (TXT).
[RFC4157] Hoffman, P., “The prospero URI Scheme,” RFC 4157, August 2005 (TXT).
[RFC4248] Hoffman, P., “The telnet URI Scheme,” RFC 4248, October 2005 (TXT).
[RFC4266] Hoffman, P., “The gopher URI Scheme,” RFC 4266, November 2005 (TXT).
[RFC4289] Freed, N. and J. Klensin, “Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures,” BCP 13, RFC 4289, December 2005 (TXT).
[RFC4395] Hansen, T., Hardie, T., and L. Masinter, “Guidelines and Registration Procedures for New URI Schemes,” BCP 35, RFC 4395, February 2006 (TXT).
[UTR36] Davis, M. and M. Suignard, “Unicode Security Considerations,” Unicode Technical Reports #36, August 2006.
[RFC4642] Murchison, K., Vinocur, J., and C. Newman, “Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP),” RFC 4642, October 2006 (TXT).
[RFC4643] Vinocur, J. and K. Murchison, “Network News Transfer Protocol (NNTP) Extension for Authentication,” RFC 4643, October 2006 (TXT).
[RFC4952] Klensin, J. and Y. Ko, “Overview and Framework for Internationalized Email,” RFC 4952, July 2007 (TXT).
[RFC5064] Duerst, M., “The Archived-At Message Header Field,” RFC 5064, December 2007 (TXT).


 TOC 

Appendix A.  Collected ABNF

In addition to the syntax given above this appendix also lists the sources of terms used in comments and the prose:

    nntpURL         = "nntp:" server "/" group [ "/" article-number ]
    server          = "//" authority               ; see RFC 3986
    group           = 1*( group-char / pct-encoded )
    article-number  = 1*16DIGIT                    ; see RFC 3977
    group-char      = ALPHA / DIGIT / "-" / "+" / "_" / "."

    newsURL         = "news:" [ server "/" ] ( article / newsgroups )
    article         = mid-left "@" mid-right
    newsgroups      = *( group-char / pct-encoded / "*" )

    mid-left        = 1*( mid-atext / "." ) /      ; <dot-atom-text>
                      ( "%22" mid-quote "%22" )    ; <no-fold-quote>
    mid-quote       = 1*( mid-atext / "." /        ; <mqtext> incl.
                          mid-special /            ; '\"' / "[" / "]"
                          "%5C%22" / "%5B" / "%5D" )

    mid-right       = 1*( mid-atext / "." ) /      ; <dot-atom-text>
                      ( "%5B" mid-literal "%5D" )  ; <no-fold-literal>
    mid-literal     = 1*( mid-atext / "." /        ; <mdtext> incl.
                          mid-special /            ; '"' / "\[" / "\]"
                          "%22" / "%5C%5B" / "%5C%5D" )

    mid-special     = "(" / ")" / "," / ":" / ";" /
                      "%3C" / "%40" / "%5C%5C"     ; "<" / "@" / "\\"

    mid-atext       = ALPHA / DIGIT /              ; RFC 2822 <atext>
                      "!" / "$" / "&" / "'" /      ; allowed sub-delims
                      "*" / "+" / "=" /            ; allowed sub-delims
                      "-" / "_" / "~" /            ; allowed unreserved
                      "%23" / "%25" / "%2F" /      ; "#" / "%" / "/"
                      "%3F" / "%5E" / "%60" /      ; "?" / "^" / "`"
                      "%7B" / "%7C" / "%7D"        ; "{" / "|" / "}"

    authority       = <see RFC 3986 Section 3.2>
    host            = <see RFC 3986 Section 3.2.2>
    pct-encoded     = <see RFC 3986 Section 2.1>
    port            = <see RFC 3986 Section 3.2.3>
    sub-delims      = <see RFC 3986 Section 2.2>
    unreserved      = <see RFC 3986 Section 2.3>
    userinfo        = <see RFC 3986 Section 3.2.1>

    message-id      = <see RFC 3977 Section 9.8>
    UTF8-non-ascii  = <see RFC 3977 Section 9.8>
    wildmat         = <see RFC 3977 Section 4.1>
    wildmat-exact   = <see RFC 3977 Section 4.1>
    wildmat-pattern = <see RFC 3977 Section 4.1>

    ALPHA           = <see RFC 5234 Appendix B.1>
    DIGIT           = <see RFC 5234 Appendix B.1>

    atext           = <see RFC 2822 Section 3.2.4>
    dot-atom-text   = <see RFC 2822 Section 3.2.4>

    article-locator = <see RFC NEWS Section 3.2.14>
    mdtext          = <see RFC NEWS Section 3.1.3>
    mqtext          = <see RFC NEWS Section 3.1.3>
    msg-id-core     = <see RFC NEWS Section 3.1.3>
    newsgroup-name  = <see RFC NEWS Section 3.1.4>
    no-fold-literal = <see RFC NEWS Section 3.1.3>
    no-fold-quote   = <see RFC NEWS Section 3.1.3>
    xref            = <see RFC NEWS Section 3.2.14>


 TOC 

Appendix B.  Detailed example

Here is an example of a mail to the mailto:tools.discuss@ietf.org list with Message-ID <p0624081dc30b8699bf9b@[10.20.30.108]>.

http://dir.gmane.org/gmane.ietf.tools is one of the various list archives, it converts mails into Netnews articles. The header of this article contains the following fields (among others):

        Message-ID: <p0624081dc30b8699bf9b@[10.20.30.108]>
        Xref: news.gmane.org gmane.ietf.tools:742
        Archived-At: <http://permalink.gmane.org/gmane.ietf.tools/742>

The Xref roughly indicates the 742nd article in newsgroup news://news.gmane.org/gmane.ietf.tools on this server. An 'nntp' URL might be nntp://news.gmane.org/gmane.ietf.tools/742. For details about the Archived-At URL see [RFC5064] (Duerst, M., “The Archived-At Message Header Field,” December 2007.).

The list software and list subscribers reading the list elsewhere can't predict a server specific article number 742 in this archive. If they know this server they can however guess the corresponding news://news.gmane.org/p0624081dc30b8699bf9b@%5B10.20.30.108%5D URL.

In theory the list software could use the guessed 'news' URL in an Archived-At header field, but if a list tries this it would likely use http://mid.gmane.org/p0624081dc30b8699bf9b@%5B10.20.30.108%5D.

Using domain literals in a Message-ID could cause collisions. A collision might force the mail2news gateway in this example to invent a new Message-ID, and an attempt to guess the future URL on this server would then fail.



 TOC 

Appendix C.  Document History

Changes in version 11:

  • Clarified that the semantics of fragments is never defined by an URI scheme, but depends on the media type. Minor tweaks to make the point that using query parts for this purpose is not state of the art.
  • Replaced the remains of the four letter word introduced in version 08 by a proper [POSIX] (Institute of Electrical and Electronics Engineers, “The Open Group Base Specifications Issue 6,” .) reference.
  • Added a forward pointer to Section 6 (Internationalization Considerations) as explanation why <group‑char> does not exactly mirror the <newsgroup‑name> syntax.
  • Added a disclaimer to Section 4 (Syntax of 'news' URIs) that the shown 'news' URI syntax is actually a superset of the corresponding <newsgroup-name> and <msg-id-core> syntax, and in no way intended to redefine the normative source.
  • After some discussions about adding news.uri.arpa to the nntp.uri.arpa registration for the Dynamic Delegation Discovery System (DDDS) folks preferred to have no DDDS registration for NNTP at all at this time. DDDS registrations for existing URI schemes are possible when applications need them, proactive DDDS registrations are unnecessary.
  • Thanks to Lars for tolerating Appendix B (Detailed example) as real example.

Changes in version 10:

Changes in version 09:

Changes in version 08:

  • Many editorial and stylistic improvements proposed by Charles Lindsey adopted wholesale.
  • Added another URI security consideration. Added another note why this memo does not try to cover more NNTP features. Refrained from adding expectations what future NNTP servers will do. The author hopes that Netnews will survive, and that this memo helps. Adding features known to not work everywhere could be counterproductive.
  • Rejected a proposal to "undocument" 'snews'. In 2006 folks on the URI list preferred "document and deprecate". At this time 'snews' was supported by at least two servers and two user agents.
  • Sticked to the DDDS registration of 'nntp' in the style of the existing 'ftp', 'http', and 'mailto' DDDS records as a clerical task.
  • Rejected a proposal to deviate from the <msg-id-core> syntax in the normative reference [I‑D.ietf‑usefor‑usefor] (Lindsey, C., “Netnews Article Format,” January 2007.) reflecting a consensus of the IETF USEFOR WG formed after lengthy discussions.

Changes in version 07:

  • Fixed two bugs introduced in version 06, Kjetil T. Homme spotted the worst error, thanks. Rearranged the credits adding Henrik's IETF tools.
  • I-D nit about a missing reference for [I-D.hoffman-news-nntp-uri-04] ignored, this string will go away together with the document history (Document History).
  • The I-D submission tool added an editorial note following the abstract to the meta data of version 06, manual override attempt for version 07.
  • Review request sent to register@uri.arpa, this mail didn't make it yet to http://www.iana.org/list-archives/register-uri/.

Changes in version 06:

Changes in version 05:

  • Added an attempt to cleanup the erroneous MIME application subtype 'news-message-ID' registration. This was meant to be a MIME 'message/external-body' access type as published in http://www.iana.org/assignments/access-types.
  • The 'news-message-ID' review request was posted 2007-02-19.

Changes in version 04:

Changes in version 03:

  • The 'snews' semantics was improved after discussions with Chris Newman and Ken Murchinson.
  • Various editorial fixes proposed by Alfred Hönes.

Changes in version 02:

Changes in version 01:

Changes in version 00:



 TOC 

Author's Address

  Frank Ellermann
  xyzzy
  Hamburg, Germany
Email:  hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com
URI:  http://purl.net/xyzzy/


 TOC 

Full Copyright Statement

Intellectual Property

Acknowledgment