[NNTP] Re: News and nntp URI schemes
Charles Lindsey
chl at clerew.man.ac.uk
Tue Apr 12 10:22:56 PDT 2005
On Thu, 10 Mar 2005 10:55:52 -0000, Charles Lindsey <chl at clerew.man.ac.uk>
wrote:
> On Thu, 17 Feb 2005 16:59:48 -0000, Charles Lindsey
> <chl at clerew.man.ac.uk> wrote:
>> [2nd alternative]
>>
>> newsURI = "news:" ( article / group )
>> article = [ news-server "/" ] message-id
>> group = [ news-server "/" ] wildmat
>>
> There has been much discussion on the NNTP WG list about this in recent
> days, mainly between myself and Russ Allbery. He has suggested various
> small textual changes, which I have adopted, but more importantly he
> likes going for the 2nd alternative (i.e. wildmats). It seems that Lynx,
> at least, already supports something pretty close to that, and it should
> also make Al Gilman happy. It would be useful, however, to hear of other
> systems that will currently handle all, or most, of the examples listed
> for the 2nd alternative.
>
> In the meantime, I intend to rewrite the text incorporating those
> wildmats, and I shall post it here for your consideration.
>
So I have now done this, and the text is attached.
This is being sent to both the uri at w3.org and the
ietf-nntp at lists.eyrie.org lists.
Ideally, it should be discussed on both lists (though it is uri at w3.org
that is ultimately responsible). However, keeping discussion alive on two
lists is known to be a hazardous enterprise, so I shall report interesting
comments on each list to the other.
--
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl
Email: chl at clerew.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5
-------------- next part --------------
2. The News URI Scheme
The news URI scheme is used to refer to either news groups
or individual Netnews articles, as defined in [RFC 1036].
The news URI takes the form:
newsURI = "news:" ( article / collection )
article = [ news-server "/" ] message-id
collection = [ news-server "/" ] wildmat /
[ news-server [ "/" ] ]
news-server = "//" authority
message-id = printable-ascii "@" printable-ascii
newsgroup-name = %x21-29 / %x2B / %x2D-3E / %x40-5A / %x5E-7E
; excludes "*" "," "?" "[" "\" "]"
printable-ascii = 1*( %d33-61 / %d63-126 ) ; excludes ">"
<authority> is defined in [RFC 3986], and provides for a <host>, a
<port> (defaulting to 119 in this scheme) and possibly a <userinfo>.
<wildmat> is defined in [NNTP], and provides for a single
<newsgroup-name>, or for a collection of <newsgroup-name>s separated
by ','s and using '*' and '?' for wild cards and `!` for negation.
Within a <printable-ascii> or a <wildmat>, the characters '%', '@',
'/', '?' and '#' are reserved and MUST be %-encoded if they occur. All
other characters MAY be used freely to represent themselves. It is not
precluded that future extensions for internationalized <newsgroup-name>s
may permit octets outside of the given ranges, in which case they too MUST
be %-encoded (except perhaps when used in an IRI [RFC 3987]).
[Issue: since '?' is used in a <wildmat>, maybe it shouldn't be
reserved. I only put it there to allow for possible future extensions.]
If no <news-server> is specified, the resources are to be retrieved
from whatever server has been configured for local use.
2.1 The newsURI contains an <article>
A <message-id> corresponds to the <msg-id> of [RFC 2822] and to the
Message-ID of section 2.1.5 of [RFC 1036], but without the enclosing
"<" and ">". It is intended to be the message identifier of an actual
Netnews article and hence will in practice conform to the syntax
defined in [RFC 1036] or in any subsequent standard for Netnews
articles.
Observe the delimiter "@" which enables an <article> to be
distinguished from a <newsgroup-name>.
The resource retrieved by this URI is the Netnews article with the
given <message-id>. Message identifiers are required to be globally
unique, so the same article should be obtained whatever server is
accessed for that purpose (provided the server in question has that
article available).
2.2 The newsURI contains a <collection>
Any <newsgroup-name> contained in or implied by any <wildmat> is
intended to be that of an existing newsgroup, such as
"comp.lang.perl.modules", and hence will in practice conform to the
syntax defined in [RFC 1036] or in any subsequent standard for
Netnews articles.
If the <wildmat> in the <collection> consists of just a single
<newsgroup-name>, the resource retrieved by this URI is some means to
gain access to the articles in the given <newsgroup-name> that are
available from the given <authority> (usually by invoking a suitable
news reading agent initialized to access that group).
If the <wildmat> in the <collection> identifies a collection of
newsgroups, the resource retrieved by this URI is some means to gain
access to all of those newsgroups which are available from the given
<authority> (usually by invoking a suitable news reading agent).
If the <collection> contains no <wildmat> at all, the effect is the
same as that of the <wildmat> "*", meaning "all available
newsgroups".
[So we can now have the following forms:
news:*.test
news:*
news://news.example.com/*.test
news://news.example.com/*
news://news.example.com/
news://news.example.com
where the 2nd and the last 3 all refer to "all available news groups".]
3. The nntp URI scheme
The nntp URI scheme is used to retrieve individual articles
via the NNTP protocol [draft-ietf-nntpext-base-*.txt]. It is usually
(but not necessarily) used in connection with Netnews articles as
defined in [RFC 1036].
The nntp URI takes the form:
nntpURI = "nntp" ":" news-server "/" newsgroup-name "/" range
news-server = "//" authority
range = article-number ["-" [article-number]]
article-number = 1*DIGIT
Observe, in contradistinction to the news scheme, that the
<news-server> is not optional here, because the mapping from
<article-numbers> to actual articles is established independently by
each server.
3.1 The range is a single <article-number>
The resource retrieved by this URI is the Netnews article numbered
by the given <article-number> in the given <newsgroup-name> from the
given <authority>.
3.2 The range encompasses more than a single <article-number>
The resource retrieved by this URI is some means to gain access to
the articles numbered within the given <range> of <article-
number>s in the given <newsgroup-name> from the given <authority>
(usually by invoking a suitable news reading agent initialized to
access that range). A <range> of the form "nnnn-" provides access to
all articles numbered "nnnn" and above.
More information about the ietf-nntp
mailing list