NewsReaders.com: Technical Documents and links
an eMailman(sm) production
a site about newsgroups and software related to them


[eMailman] [eMailOrder] [Search NewsReaders.com] [Consulting] [Credits]


[Submit Addition/Corrections]


Although it isn't explicitly stated in RFC 977, the nature of the
connection between the server and the client means that in practice a
client can batch or pipeline commands (send a series of commands and
receive a series of answers).

This has been empirically confirmed with the following news servers:

Changi
Diablo
DNEWS
INN
Leafnode
Microsoft Internet Services
Netscape-Collabra/3.52
RumorMill
Tortoise 2.1beta
Typhoon

There are commands which can NOT be batched because of their nature
(POST and other commands which change the state of the server and
may fail or return unexpected results, under certain conditions this
includes *GROUP).

This pipelining or batching of commands by the client can result in
significant speed improvements over the more traditional
command->response/command->response sequence.

Commands which may change the state and derail any batched commands:
MODE READER, POST, *GROUP, IHAVE, SLAVE, QUIT

*if GROUP fails because the group doesn't exist, then commands that
depend upon the article pointer or article number may also fail.
Thus using it to get the High/Low marks of a group is safe as long
as the result is parsed correctly when it is processed, but ARTICLE,
BODY, HEAD, NEXT and LAST can produce misleading or incorrect results
and should be avoided until after you have the response from GROUP.

Below is a table listing commands, their typical response code, and whether or not servers typically pipeline them. New commands discussed in the NNTP-EXT Working Group are in italic, "unofficial" but nevertheless widely used commands are in bold.

NNTP Commands

Command

Action & Reply

Client May Batch

<initial connect>

200 OK; 201 Posting OK; 205 Authenticate

No

MODE READER

Optionally notes client is interactive; 200, 201, 205 replies

No

SLAVE

Notes client serves many users [Obsolete]; 202 Noted

No

LIST EXTENSIONS

202 Supported Extensions followed, one per line

Yes

AUTHINFO USER name
AUTHINFO PASS pass

350 Continue with PASS
A cleartext password system
No

AUTHINFO GENERIC ...

Arbitrary auth procedure: 250 Accepted; 452 Rejected

No

LIST [ACTIVE [wild]]

For all, active, or only matching group names, list:
<group> <last> <first> <post?> (yes/no/mod)

Yes

LIST DISTRIBUTIONS

215 lists & describes valid "regions" at this server

Yes

LIST NEWSGROUPS wild

215 lists one-line descriptions of all or matching groups

Yes

LISTGROUP [ggg]

211 lists all articles by number; resets pointer to first

Yes

OVER [range]

224 returns all headers cached in a news overview dbase

Yes

PAT hdr range|ID pat

221 lists headers of specified articles with matching values

Yes

NEWGROUPS time dist

[YY]YYMMDD HHMMSS [GMT|UTC]; and distribution limits

Yes

NEWNEWS gs time dist

230 lists article-IDs in group(s) -- wildcard matching is OK

Yes

GROUP ggg

211 <est-num> <first> <last> <group> selected [Sets current-article-pointer to first message of this group, if the group doesn't exist the article pointer remains unchanged, if the group exist but is empty the article pointer is indeterminate and should be avoided]

Yes
(To get High/Low marks)

NEXT

Advances current-article-pointer (skips "holes')

Yes

LAST

Advances current-article-pointer to end of group

Yes

ARTICLE[<msgid>|nnn]
HEAD [<msgid>|nnn]
BODY [<msgid>|nnn]

Send current [or specified] article's headers, body, or both
Specifying an article-number advances the current-article
220 <art-num> <art-ID> head or body follows

Yes

STAT [<msgid>|nnn]

Check if current [or specified] article is still valid; no data

Yes

POST

340 Send article; 240 Received OK (for clients)

No

IHAVE <msgid>

345 Transfer article; 435 Not Wanted (for servers)

No

XHDR header [range|<msgid>]

221 lists article number/msgid followed by the header contents

Yes

XOVER [range]

224 returns all headers cached in a news overview dbase

Yes

XPAT hdr [range|<msgid>] pat

221 lists headers of specified articles with matching values

Yes


[NewsReaders.com] [Webmaster]

If you aren't happy with your ISP's newsfeed, try a subscription newsfeed.