ietf-nntp FAQ Extension to NNTP
Pat Brans
pbrans at cscsm.de
Thu Aug 22 06:02:50 PDT 1996
Hello,
It was suggested to me that I submit my ideas on including FAQ's as part
of news groups to this mailing list. I've put together this idea in the
form of an internet draft, which is shown below.
Very briefly, the idea is that NNTP be extended to allow clients to retrieve
the latest FAQ. User Interfaces could provide an option that would allow the
user to read that FAQ at anytime, just as if he or she were reading an article.
This eliminates that need to post updated FAQ's periodically as articles;
it also elimiates the need for users to first find out the name of the FAQ
file and then retrieve it through anonymous FTP.
Comments are more than welcome.
--
Pat Brans
pbrans at cscsm.de
Voice: 49.221.903.15.73
Fax: 49.221.700.20.52
"Before I got married I had six theories about bringing
up children. Now I have six children and no theories."
- John Wilmot, Earl of Rochester (1647-1680)
========================== Cut Here ======================================
Internet Draft Pat Brans
August 1996
FAQ Extension to Network News Transfer Protocol
This document is an Internet-Draft. 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.''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the Internet-
Drafts Shadow Directories on ftp.is.co.za (Africa),
nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
1. Introduction
It has become wide-spread practice to maintain a Frequently Asked
Questions (FAQ) file for each Internet news group. This file may contain
a description of the news group, the philosophy behind it, and a list of
commonly asked questions and their answers. It is considered improper
network etiquette to post an article to a news group asking a question
that is among the frequently asked questions.
Currently, FAQ files are maintained separately from the news group. For
many news groups the FAQ file is posted as an article once a month. FAQ's
are usually updated periodically.
Because FAQ files are maintained separately from the news group, it's
sometimes difficult to retrieve the FAQ when you most need it.
This problem could be eliminated by extending NNTP (Network News Transfer
Protocol from RFC 977) to include protocol elements for retreival of the
FAQ file. Client programs could then include an option to display the
current version of the FAQ to the user. This selection would presumably
be similar to the selection of an article to read.
Brans [Page 1]
Internet-Draft August 1996
FAQ Extension to NNTP
2. NNTP Protocol Extensions
2.1. Status Responses
Currently, NNTP status responses can have the following second-digit
values :
x0x - Connection, setup, and miscellaneous messages
x1x - Newsgroup selection
x2x - Article selection
x3x - Distribution functions
x4x - Posting
x8x - Nonstandard (private implementation) extensions
x9x - Debugging output
To associate FAQ files with news groups the following second-digit
value should be added :
x5x - FAQ selection
2.2. The FAQ Command
A new command should be added to allow a new client to read the FAQ
file associated with the currently selected news group. The format
for this command is as follows :
FAQ [version-I-have]
The optional "version-I-have" parameter is a 4-byte unsigned numeric
value indicating the version number of the FAQ file currently held by
the client. If the current version of the FAQ file is greater than
this value, the news server will respond by sending the contents of
the current FAQ file (all possible responses are listed below).
In the absence of the "version-I-have" parameter, if there is a
FAQ file associated with the currently-selected news group, the news
server will respond by sending the contents of the current FAQ file.
The only restrictions on FAQ version numbers are that they be 4-byte
unsigned numbers and that they be ascending.
2.3. Responses
250 v you have the current version
(v = the current version)
251 v FAQ retrieved - FAQ contents follow
(v = the current version - i.e. of the following FAQ)
412 no newsgroup has been selected
450 no FAQ for this news group
500 command not recognized
Servers that do not implement this protocol extension would obviously
return the 500 response.
Brans [Page 2]
Internet-Draft August 1996
FAQ Extension to NNTP
2.4. Sending the FAQ File
The FAQ file will be sent as text in conformance with NNTP (section
2.4.1 of RFC 977).
3. Sample Conversations
These are samples of the conversations that might be expected with
the news server in hypothetical sessions. The notation C: indicates
commands sent to the news server from the client program; S: indicate
responses received from the server by the client.
3.1. Example 1 - Client gets FAQ for the first time
S: (listens at TCP port 119)
C: (requests connection on TCP port 119)
S: 200 server ready - posting allowed
(client asks for a current newsgroup list)
C: LIST
S: 215 list of newsgroups follows
S: net.gilligan 00808 01090 y
S: net.homer 09099 10109 y
S: .
(client selects a newsgroup)
C: GROUP net.homer
S: 211 1010 09099 10109 net.homer group selected
(client selects to read the FAQ)
C: FAQ
S: 251 19 FAQ retrieved - FAQ contents follow
(text contents here)
S: .
Brans [Page 3]
Internet-Draft August 1996
FAQ Extension to NNTP
3.2. Example 2 - Client has current version; other newsgroup has no FAQ
S: (listens at TCP port 119)
C: (requests connection on TCP port 119)
S: 200 server ready - posting allowed
(client asks for a current newsgroup list)
C: LIST
S: 215 list of newsgroups follows
S: net.gilligan 00808 01090 y
S: net.homer 09099 10109 y
S: .
(client selects a newsgroup)
C: GROUP net.homer
S: 211 1010 09099 10109 net.homer group selected
(client selects to read the FAQ)
C: FAQ 19
S: 250 19 you have the current version
(client selects a different news group)
C: GROUP net.gilligan
S: 211 282 00808 01090 net.gilligan group selected
(client selects an article)
C: ARTICLE 812
S: 220 812 article retrieved, text follows
S: (article header and body follow)
S: .
(client selects FAQ for the first time)
C: FAQ
S: 450 no FAQ for this news group
(client selects next article - note that the next article pointer was
unaffected by the FAQ command)
C: NEXT
S: 223 813 article retrieved; text separate.
Brans [Page 4]
Internet-Draft August 1996
FAQ Extension to NNTP
3.3. Example 3 - Server hasn't implemented this extension
S: (listens at TCP port 119)
C: (requests connection on TCP port 119)
S: 200 server ready - posting allowed
(client asks for a current newsgroup list)
C: LIST
S: 215 list of newsgroups follows
S: net.gilligan 00808 01090 y
S: net.homer 09099 10109 y
S: .
(client selects a newsgroup)
C: GROUP net.homer
S: 211 1010 09099 10109 net.homer group selected
(client selects to read the FAQ)
C: FAQ 19
S: 500 command not recognized
(client goes on to do other things)
C: ARTICLE 10100
S: 223 10100 article retrieved; text separate.
4. Commands
With this extension the command set of NNTP would now be the following :
ARTICLE
BODY
FAQ
GROUP
HEAD
HELP
IHAVE
LAST
LIST
NEWGROUPS
NEWNEWS
NEXT
POST
QUIT
SLAVE
STAT
Brans [Page 5]
Internet-Draft August 1996
FAQ Extension to NNTP
5. Responses
With this extension to NNTP, the set of possible responses would now
be the following :
100 help text follows
199 debug output
200 server ready - posting allowed
201 server ready - no posting allowed
202 slave status noted
205 closing connection - goodbye!
211 n f l s group selected
215 list of newsgroups follows
220 n <a> article retrieved - head and body follow 221 n <a> article
retrieved - head follows
222 n <a> article retrieved - body follows
223 n <a> article retrieved - request text separately 230 list of new
articles by message-id follows
231 list of new newsgroups follows
235 article transferred ok
240 article posted ok
250 v you have the current version
251 v FAQ retrieved - FAQ contents follow
335 send article to be transferred. End with <CR-LF>.<CR-LF>
340 send article to be posted. End with <CR-LF>.<CR-LF>
400 service discontinued
411 no such news group
412 no newsgroup has been selected
420 no current article has been selected
421 no next article in this group
422 no previous article in this group
423 no such article number in this group
430 no such article found
435 article not wanted - do not send it
436 transfer failed - try again later
437 article rejected - do not try again.
440 posting not allowed
441 posting failed
450 no FAQ for this news group
500 command not recognized
501 command syntax error
502 access restriction or permission denied
503 program fault - command not performed
6. References
[1] Kantor, B., Lapsley, P. "Network News Transfer Protocol"
Messages", RFC-977, February 1986.
Brans [Page 6]
More information about the ietf-nntp
mailing list