The client (e.g., a news reader) issues a command and gets a numeric reply with an optional textual argument. The textual argument is a human readable explanation of the numeric reply and may usually be ignored. The numeric response indicates the success of the command and whether additional data follows. If the command has to supply additional data, then this is indicated within the numeric reply code. The additional data follows the numeric reply line and is terminated by a single dot on a line. Tables B.1 and B.2 show the meaning of the first two digits in the numeric reply code. The third digit is command dependent. These codes are described in detail in [KL86].
Figure B.1 shows the GROUP and ARTICLE commands. The first command (GROUP) selects the newsgroup comp.os.linux.admin. The news server's reply (211) indicates that the newsgroup was selected successfully. Now it is possible to retrieve an article from this newsgroup using the ARTICLE command. In the example above article 870 is requested. The news server indicates that the command completed successfully (using reply code 220) and supplies the article header and body as additional data. The end of the article is marked by a single dot on a line.
|1yz||This is only an information message and may be ignored|
|2yz||Command completed successfully|
|3yz||Command ok so far, send the rest of it|
|4yz||Command was correct, but couldn't be performed for some reason|
|5yz||Command unimplemented, or incorrect, or a serious program error occurred|
|x0z||Connection, setup, and miscellaneous messages|
|x8z||Nonstandard (private implementation) extensions|