Network Working Group                                          S. Barber
Request for Comments: 2980                    Academ Consulting Services
Category: Informational                                     October 2000
        
Network Working Group                                          S. Barber
Request for Comments: 2980                    Academ Consulting Services
Category: Informational                                     October 2000
        

Common NNTP Extensions

通用NNTP扩展

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

Abstract

摘要

In this document, a number of popular extensions to the Network News Transfer Protocol (NNTP) protocol defined in RFC 977 are documented and discussed. While this document is not intended to serve as a standard of any kind, it will hopefully serve as a reference document for future implementers of the NNTP protocol. In the role, this document would hopefully create the possibility for some level of interoperability among implementations that make use of extensions.

在本文档中,对RFC977中定义的网络新闻传输协议(NNTP)协议的一些流行扩展进行了记录和讨论。虽然本文件无意作为任何类型的标准,但它有望作为NNTP协议未来实施者的参考文件。在这个角色中,本文档有望在使用扩展的实现之间创建某种程度的互操作性。

Introduction

介绍

RFC 977 [1] defines the NNTP protocol and was released over a decade ago. Since then, NNTP has become one of the most popular protocols in use on the Internet. Many implementations of the protocol have been created on many different platforms and operating systems. With the growth in use of the protocol, work began on a revision to NNTP in 1991, but that work did not result in a new standard protocol specification. However, many ideas from that working group did find their way into many implementations of NNTP. Additionally, many other extensions, often created by newsreader authors, are also in use. This document will capture and define all known extensions to NNTP available in official NNTP server releases of some type as of this writing. Where possible, the server software first implementing a particular extension will be noted. It is the hope of the author that using this document in tandem with RFC 977 will limit the addition of new extensions that essentially do the same thing. Software developers may wish to use this document and others [2] as a resource for the development of new software.

RFC 977[1]定义了NNTP协议,并在十多年前发布。从那时起,NNTP已成为互联网上最流行的协议之一。该协议的许多实现已经在许多不同的平台和操作系统上创建。随着协议使用的增加,1991年开始对NNTP进行修订,但这项工作并未产生新的标准协议规范。然而,该工作组的许多想法确实融入了NNTP的许多实现中。此外,许多其他扩展(通常由新闻阅读器作者创建)也在使用中。本文档将捕获并定义截至本文撰写之时某些类型的官方NNTP服务器版本中可用的NNTP的所有已知扩展。在可能的情况下,将注意首先实现特定扩展的服务器软件。作者希望,将本文档与RFC977结合使用将限制添加基本上做相同事情的新扩展。软件开发人员可能希望使用本文档和其他[2]作为开发新软件的资源。

This document does not specify an Internet Standard of any kind. It only attempts to document current practices. While this document may clarify some ambiguity in RFC 977, RFC 977 should be regarded as authoritative in all cases. There are some implementations that are not strictly RFC 977 compliant and where necessary, these deviations from the standard will be noted. This document does reflect the work of the IETF NNTP-EXT working group chaired by Ned Freed and Stan Barber.

本文件未规定任何类型的互联网标准。它只尝试记录当前的实践。虽然本文件可能会澄清RFC 977中的一些模糊性,但RFC 977在所有情况下都应被视为具有权威性。有些实施并不严格符合RFC 977,如有必要,将注意这些与标准的偏差。本文件确实反映了由Ned Freed和Stan Barber主持的IETF NNTP-EXT工作组的工作。

This document is provided to help implementers have a uniform source of information about extensions, however, it is important for any prospective implementer to understand that the extensions listed here are NOT part of any current standard for NNTP. In fact, some of the ones listed in this document should not be included in new NNTP implementations as they should no longer be used modern NNTP environments. Such commands should be considered historic and are documented as such in this document.

本文档旨在帮助实施者获得关于扩展的统一信息源,但是,任何潜在的实施者都必须了解,此处列出的扩展不是NNTP的任何现行标准的一部分。事实上,本文档中列出的一些不应包括在新的NNTP实现中,因为它们不应再用于现代NNTP环境。此类命令应视为历史命令,并在本文件中予以记录。

Extensions fall into three categories: transport, newsreader and other. Transport extensions are additions to the NNTP specification that were made specifically to move news articles from one server to another server. Newsreader extensions are additions to the NNTP specification that were made to assist NNTP clients in selecting and retrieving news articles from servers. Other extensions to the NNTP specification are those which did not specifically fall into either of the other two categories. Examples of other extensions include authentication and time-of-day extensions. For each command, the format of section 3 of RFC 977 will be used.

扩展分为三类:传输、新闻阅读器和其他。传输扩展是NNTP规范的补充,专门用于将新闻文章从一台服务器移动到另一台服务器。新闻阅读器扩展是NNTP规范的补充,旨在帮助NNTP客户端从服务器选择和检索新闻文章。NNTP规范的其他扩展是那些没有具体归入其他两类的扩展。其他扩展的示例包括身份验证和时间扩展。对于每个命令,将使用RFC 977第3节的格式。

1. Transport Extensions
1. 传输扩展

A transport extension is one which is primarily used in inter-server communications. Following are the descriptions of each transport extension commands and the responses which will be returned by those commands.

传输扩展主要用于服务器间通信。以下是每个传输扩展命令的说明以及这些命令将返回的响应。

Each command is shown in upper case for clarity, although case is ignored in the interpretation of commands by the NNTP server. Any parameters are shown in lower case. A parameter shown in [square brackets] is optional. For example, [GMT] indicates that the triglyph GMT may present or omitted. A parameter that may be repeated is followed by an ellipsis.

为清晰起见,每个命令都以大写字母显示,尽管NNTP服务器在解释命令时忽略了大小写。所有参数均以小写形式显示。[方括号]中显示的参数是可选的。例如,[GMT]表示triglyph GMT可能存在或省略。可以重复的参数后面跟着省略号。

1.1.1 The CHECK command
1.1.1 CHECK命令

CHECK <message-id>

检查<message id>

CHECK is used by a peer to discover if the article with the specified message-id should be sent to the server using the TAKETHIS command. The peer does not have to wait for a response from the server before sending the next command.

对等方使用CHECK来发现是否应使用TAKETHIS命令将具有指定消息id的文章发送到服务器。在发送下一个命令之前,对等方不必等待服务器的响应。

From using the responses to the sequence of CHECK commands, a list of articles to be sent can be constructed for subsequent use by the TAKETHIS command.

通过使用对CHECK命令序列的响应,可以构建要发送的项目列表,以供TAKETHIS命令后续使用。

The use of the CHECK command for streaming is optional. Some implementations will directly use the TAKETHIS command and send all articles in the send queue on that peer for the server.

对流式处理使用CHECK命令是可选的。一些实现将直接使用TAKETHIS命令,并在该对等服务器上发送发送队列中的所有文章。

On some implementations, the use of the CHECK command is not permitted when the server is in slave mode (via the SLAVE command).

在某些实现中,当服务器处于从属模式时(通过从属命令),不允许使用CHECK命令。

Responses that are of the form X3X must specify the message-id in the response.

格式为X3X的响应必须在响应中指定消息id。

1.1.2. Responses
1.1.2. 响应

238 no such article found, please send it to me 400 not accepting articles 431 try sending it again later 438 already have it, please don't send it to me 480 Transfer permission denied 500 Command not understood

238找不到此类文章,请将其发送给我400不接受文章431尝试稍后再次发送438已经有了它,请不要将其发送给我480传输权限被拒绝500命令不理解

1.2.1 The MODE STREAM command
1.2.1 模式流命令

MODE STREAM

模式流

MODE STREAM is used by a peer to indicate to the server that it would like to suspend the lock step conversational nature of NNTP and send commands in streams. This command should be used before TAKETHIS and CHECK. See the section on the commands TAKETHIS and CHECK for more details.

对等方使用模式流向服务器指示它要挂起NNTP的锁步会话性质,并在流中发送命令。在执行此操作并检查之前,应使用此命令。有关更多详细信息,请参阅“执行此命令并检查”部分。

1.2.2. Responses
1.2.2. 响应

203 Streaming is OK 500 Command not understood

203流媒体是否正常500命令未被理解

1.3.1 The TAKETHIS command
1.3.1 该命令由用户执行

TAKETHIS <message-id>

接受此<message id>

TAKETHIS is used to send articles to a server when in streaming mode. The entire article (header and body, in that sequence) is sent immediately after the peer sends the TAKETHIS command. The peer does not have to wait for a response from the server before sending the next command and the associated article.

TAKETHIS用于在流模式下向服务器发送文章。在对等方发送TAKETHIS命令后,将立即发送整个文章(标题和正文,按该顺序)。在发送下一个命令和相关文章之前,对等方不必等待服务器的响应。

During transmission of the article, the peer should send the entire article, including header and body, in the manner specified for text transmission from the server. See RFC 977, Section 2.4.1 for details.

在文章的传输过程中,对等方应该以服务器指定的文本传输方式发送整个文章,包括标题和正文。详见RFC 977第2.4.1节。

Responses that are of the form X3X must specify the message-id in the response.

格式为X3X的响应必须在响应中指定消息id。

1.3.2. Responses
1.3.2. 响应

239 article transferred ok 400 not accepting articles 439 article transfer failed 480 Transfer permission denied 500 Command not understood

239物品转移ok 400不接受物品439物品转移失败480转移权限被拒绝500命令不理解

1.4.1 The XREPLIC command
1.4.1 XREPLIC命令

XREPLIC ggg:nnn[,ggg:nnn...]

XREPLIC ggg:nnn[,ggg:nnn…]

The XREPLIC command makes is possible to exactly duplicate the news spool structure of one server in another server. It first appeared in INN.

XREPLIC命令可以在另一台服务器中精确复制一台服务器的新闻假脱机结构。它最初出现在旅馆里。

This command works similarly to the IHAVE command as specified in RFC 977. The same response codes are used. The command line arguments consist of entries separated by a single comma. Each entry consists of a news group name, a colon, and an article number. If the server responds with a 335 response, the article should be filed in the news group(s) and article number(s) specified in the XREPLIC command line. If the server cannot do successfully install the article once it has accepted it, a 436 or 437 response code can be used to indicate the failure.

此命令的工作方式与RFC 977中指定的IHAVE命令类似。使用相同的响应代码。命令行参数由单个逗号分隔的条目组成。每个条目由新闻组名称、冒号和文章编号组成。如果服务器以335响应响应,则文章应归档在XREPLIC命令行中指定的新闻组和文章编号中。如果服务器在接受文章后无法成功安装该文章,则可以使用436或437响应代码来指示失败。

This command should only be used when the receiving server is being fed by only one other server. It is likely that when used with servers that have multiple feeds that this command will frequently fail.

仅当接收服务器仅由另一台服务器馈送时,才应使用此命令。当与具有多个提要的服务器一起使用时,此命令可能会经常失败。

XREPLIC slaving has been deprecated in INN version 1.7.2 and later. INN now has the ability to slave servers via transparent means, simply by having the article's Xref header transferred. (In previous versions, this header was generated locally and stripped off on outgoing feeds.)

在INN版本1.7.2及更高版本中,XREPLIC从属已被弃用。INN现在能够通过透明的方式从服务器上删除内容,只需传输文章的外部参照标题即可。(在以前的版本中,此标头在本地生成,并在传出提要上剥离。)

It is likely that future versions of INN will no longer support XREPLIC.

INN的未来版本可能不再支持XREPLIC。

1.4.2. Responses
1.4.2. 响应
      235 article transferred ok
      335 send article to be transferred.  End with <CR-LF>.<CR-LF>
      435 article not wanted - do not send it
      436 transfer failed - try again later
      437 article rejected - do not try again
        
      235 article transferred ok
      335 send article to be transferred.  End with <CR-LF>.<CR-LF>
      435 article not wanted - do not send it
      436 transfer failed - try again later
      437 article rejected - do not try again
        
2. Newsreader Extensions
2. 新闻阅读器扩展

Newsreader extensions are those which are primarily used by newsreading clients. Following are the descriptions of each newsreader extension commands and the responses which will be returned by those commands.

新闻阅读器扩展主要由新闻阅读器客户端使用。以下是每个新闻阅读器扩展命令的描述以及这些命令将返回的响应。

Each command is shown in upper case for clarity, although case is ignored in the interpretation of commands by the NNTP server. Any parameters are shown in lower case. A parameter shown in [square brackets] is optional. For example, [GMT] indicates that the triglyph GMT may present or omitted. A parameter that may be repeated is followed by an ellipsis. Mutually exclusive parameters are separated by a vertical bar (|) character. For example, ggg|<message-id> indicates that a group name or a <message-id> may be specified, but not both. Some parameters, notably <message-id>, is case specific. See RFC 1036 for these details.

为清晰起见,每个命令都以大写字母显示,尽管NNTP服务器在解释命令时忽略了大小写。所有参数均以小写形式显示。[方括号]中显示的参数是可选的。例如,[GMT]表示triglyph GMT可能存在或省略。可以重复的参数后面跟着省略号。互斥参数由垂直条(|)字符分隔。例如,ggg |<message id>表示可以指定组名或<message id>,但不能同时指定两者。某些参数,尤其是<message id>,是特定于大小写的。有关这些详细信息,请参见RFC 1036。

Also, certain commands make use of a pattern for selection of multiple news groups. The pattern in all cases is based on the wildmat [4] format introduced by Rich Salz in 1986. Arguments expected to be in wildmat format will be represented by the string wildmat. This format is discussed in detail in section 3.3 of this document.

此外,某些命令使用模式选择多个新闻组。所有情况下的模式都基于Rich Salz在1986年引入的wildmat[4]格式。预期为wildmat格式的参数将由字符串wildmat表示。本文件第3.3节详细讨论了该格式。

2.1.1 Extensions to the LIST command
2.1.1 LIST命令的扩展

The original LIST command took no arguments in RFC 977 and returned the contents of the active file in a specific format. Since the original newsreaders made use of other information available in the news transport software in addition to the active file, extensions to

原始LIST命令在RFC 977中不接受任何参数,并以特定格式返回活动文件的内容。由于原始新闻阅读器除了使用活动文件外,还使用了新闻传输软件中的其他可用信息,因此

the LIST command were created to make that information available to NNTP newsreaders. There may be other extensions to the LIST command that simply return the contents of a file. This approach is suggested over the addition of over verbs. For example, LIST MOTD could be used instead of adding XMOTD.

创建LIST命令是为了使NNTP新闻阅读器可以使用这些信息。LIST命令可能还有其他扩展名,它们只返回文件的内容。这种方法建议在添加over动词时使用。例如,可以使用LIST MOTD代替添加XMOTD。

2.1.2 LIST ACTIVE
2.1.2 活动列表

LIST ACTIVE [wildmat]

列表活动[wildmat]

LIST ACTIVE is exactly the same as the LIST command specified in RFC 977. The responses and the format should exactly match the LIST command without arguments. If the optional matching parameter is specified, the list is limited to only the groups that match the pattern. Specifying a single group is usually very efficient for the server, and multiple groups may be specified by using wildmat patterns (described later in this document), not regular expressions. If nothing is matched an empty list is returned, not an error. This command first appeared in the UNIX reference version.

LIST ACTIVE与RFC 977中指定的LIST命令完全相同。响应和格式应完全匹配没有参数的LIST命令。如果指定了可选的匹配参数,则列表仅限于与模式匹配的组。对于服务器来说,指定单个组通常是非常有效的,可以使用wildmat模式(本文档稍后将介绍)而不是正则表达式来指定多个组。如果没有匹配项,则返回空列表,而不是错误。此命令首次出现在UNIX参考版本中。

2.1.3 LIST ACTIVE.TIMES
2.1.3 列出活动时间

LIST ACTIVE.TIMES

列出活动时间

The active.times file is maintained by some news transports systems to contain information about the when and who created a particular news group. The format of this file generally include three fields. The first field is the name of the news group. The second is the time when this group was created on this news server measured in seconds since January 1, 1970. The third is the email address of the entity that created the news group. When executed, the information is displayed following the 215 response. When display is completed, the server will send a period on a line by itself. If the information is not available, the server will return the 503 error response. This command first appeared in the UNIX reference version.

active.times文件由一些新闻传输系统维护,以包含有关创建特定新闻组的时间和人员的信息。此文件的格式通常包括三个字段。第一个字段是新闻组的名称。第二个是自1970年1月1日以来在该新闻服务器上创建此组的时间(以秒为单位)。第三个是创建新闻组的实体的电子邮件地址。执行时,信息显示在215响应之后。显示完成后,服务器将自行在一行上发送一个句点。如果信息不可用,服务器将返回503错误响应。此命令首次出现在UNIX参考版本中。

2.1.3.1 Responses
2.1.3.1 响应

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.1.4 LIST DISTRIBUTIONS
2.1.4 列表分发

LIST DISTRIBUTIONS

列表分发

The distributions file is maintained by some news transport systems to contain information about valid values for the Distribution: line in a news article header and about what the values mean. Each line

分发文件由一些新闻传输系统维护,以包含有关新闻文章标题中分发:行的有效值以及这些值的含义的信息。每行

contains two fields, the value and a short explanation on the meaning of the value. When executed, the information is displayed following the 215 response. When display is completed, the server will send a period on a line by itself. If the information is not available, the server will return the 503 error response. This command first appeared in the UNIX reference version.

包含两个字段,值和值含义的简短说明。执行时,信息显示在215响应之后。显示完成后,服务器将自行在一行上发送一个句点。如果信息不可用,服务器将返回503错误响应。此命令首次出现在UNIX参考版本中。

2.1.4.1 Responses
2.1.4.1 响应

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.1.5 LIST DISTRIB.PATS
2.1.5 列出发行版

LIST DISTRIB.PATS

列出发行版

The distrib.pats file is maintained by some news transport systems to contain default values for the Distribution: line in a news article header when posting to particular news groups. This information could be used to provide a default value for the Distribution: line in the header when posting an article. The information returned involves three fields separated by colons. The first column is a weight. The second is a group name or a pattern that can be used to match a group name in the wildmat format. The third is the value of the Distribution: line that should be used when the group name matches and the weight value is the highest. All this processing is done by the news posting client and not by the server itself. The server just provides this information to the client for it to use or ignore as it chooses. When executed, the information is displayed following the 215 response. When display is completed, the server will send a period on a line by itself. If the information is not available, the server will return the 503 error response. This command first appeared in INN.

distrib.pats文件由一些新闻传输系统维护,以便在发布到特定新闻组时包含新闻文章标题中Distribution:行的默认值。发布文章时,此信息可用于为标题中的Distribution:行提供默认值。返回的信息包含三个用冒号分隔的字段。第一列是权重。第二种是组名或模式,可用于匹配wildmat格式的组名。第三个是Distribution:行的值,当组名匹配且权重值最高时应使用该行。所有这些处理都是由新闻发布客户端完成的,而不是服务器本身。服务器只是将此信息提供给客户端,供其选择使用或忽略。执行时,信息显示在215响应之后。显示完成后,服务器将自行在一行上发送一个句点。如果信息不可用,服务器将返回503错误响应。这个命令最初出现在INN。

2.1.5.1 Responses
2.1.5.1 响应

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.1.6 LIST NEWSGROUPS
2.1.6 列出新闻组

LIST NEWSGROUPS [wildmat]

列出新闻组[wildmat]

The newsgroups file is maintained by some news transport systems to contain the name of each news group which is active on the server and a short description about the purpose of each news group. Each line in the file contains two fields, the news group name and a short explanation of the purpose of that news group. When executed, the

新闻组文件由一些新闻传输系统维护,以包含服务器上活动的每个新闻组的名称以及关于每个新闻组用途的简短说明。文件中的每一行都包含两个字段,即新闻组名称和该新闻组用途的简短说明。执行时

information is displayed following the 215 response. When display is completed, the server will send a period on a line by itself. If the information is not available, the server will return the 503 response. If the optional matching parameter is specified, the list is limited to only the groups that match the pattern (no matching is done on the group descriptions). Specifying a single group is usually very efficient for the server, and multiple groups may be specified by using wildmat patterns (similar to file globbing), not regular expressions. If nothing is matched an empty list is returned, not an error.

信息在215响应后显示。显示完成后,服务器将自行在一行上发送一个句点。如果信息不可用,服务器将返回503响应。如果指定了可选的匹配参数,则列表仅限于与模式匹配的组(不对组描述进行匹配)。对于服务器来说,指定一个组通常是非常有效的,可以使用wildmat模式(类似于文件globbing)而不是正则表达式来指定多个组。如果没有匹配项,则返回空列表,而不是错误。

When the optional parameter is specified, this command is equivalent to the XGTITLE command, though the response code are different.

指定可选参数时,此命令与XGTITLE命令等效,尽管响应代码不同。

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.1.7 LIST OVERVIEW.FMT
2.1.7 列表概述.FMT

LIST OVERVIEW.FMT

列表概述.FMT

The overview.fmt file is maintained by some news transport systems to contain the order in which header information is stored in the overview databases for each news group. When executed, news article header fields are displayed one line at a time in the order in which they are stored in the overview database [5] following the 215 response. When display is completed, the server will send a period on a line by itself. If the information is not available, the server will return the 503 response.

某些新闻传输系统维护overview.fmt文件,以包含每个新闻组的标题信息在概览数据库中的存储顺序。执行时,新闻文章标题字段按照215响应后在概览数据库[5]中存储的顺序一次显示一行。显示完成后,服务器将自行在一行上发送一个句点。如果信息不可用,服务器将返回503响应。

Please note that if the header has the word "full" (without quotes) after the colon, the header's name is prepended to its field in the output returned by the server.

请注意,如果标题的冒号后面有“full”(不带引号)一词,则在服务器返回的输出中,标题的名称将在其字段的前面。

Many newsreaders work better if Xref: is one of the optional fields.

如果Xref:是可选字段之一,则许多新闻阅读器工作得更好。

It is STRONGLY recommended that this command be implemented in any server that implements the XOVER command. See section 2.8 for more details about the XOVER command.

强烈建议在任何实现XOVER命令的服务器中实现此命令。有关XOVER命令的更多详细信息,请参见第2.8节。

2.1.7.1 Responses
2.1.7.1 响应

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.1.8 LIST SUBSCRIPTIONS
2.1.8 列出订阅

LIST SUBSCRIPTIONS

列出订阅

This command is used to get a default subscription list for new users of this server. The order of groups is significant.

此命令用于获取此服务器的新用户的默认订阅列表。组的顺序很重要。

When this list is available, it is preceded by the 215 response and followed by a period on a line by itself. When this list is not available, the server returns a 503 response code.

当此列表可用时,它的前面是215响应,后面是一个句点。当此列表不可用时,服务器返回503响应代码。

2.1.8.1 Responses
2.1.8.1 响应

215 information follows 503 program error, function not performed

215信息跟随503程序错误,未执行功能

2.2 LISTGROUP
2.2 列表组

LISTGROUP [ggg]

列表组[ggg]

The LISTGROUP command is used to get a listing of all the article numbers in a particular news group.

LISTGROUP命令用于获取特定新闻组中所有文章编号的列表。

The optional parameter ggg is the name of the news group to be selected (e.g. "news.software.b"). A list of valid news groups may be obtained from the LIST command. If no group is specified, the current group is used as the default argument.

可选参数ggg是要选择的新闻组的名称(例如“news.software.b”)。可以从list命令获得有效新闻组的列表。如果未指定组,则将当前组用作默认参数。

The successful selection response will be a list of the article numbers in the group followed by a period on a line by itself.

成功的选择响应将是组中物品编号的列表,后跟一行上的句号。

When a valid group is selected by means of this command, the internally maintained "current article pointer" is set to the first article in the group. If an invalid group is specified, the previously selected group and article remain selected. If an empty news group is selected, the "current article pointer" is in an indeterminate state and should not be used.

通过此命令选择有效组时,内部维护的“当前项目指针”将设置为组中的第一个项目。如果指定了无效的组,则先前选择的组和项目将保持选中状态。如果选择了空新闻组,“当前文章指针”处于不确定状态,不应使用。

Note that the name of the news group is not case-dependent. It must otherwise match a news group obtained from the LIST command or an error will result.

请注意,新闻组的名称不取决于大小写。否则,它必须与从LIST命令获得的新闻组匹配,否则将导致错误。

2.2.1 Responses
2.2.1 响应

211 list of article numbers follow 412 Not currently in newsgroup 502 no permission

211文章编号列表跟随412当前不在新闻组502无权限

2.3 MODE READER
2.3 模式读取器

MODE READER is used by the client to indicate to the server that it is a news reading client. Some implementations make use of this information to reconfigure themselves for better performance in responding to news reader commands. This command can be contrasted with the SLAVE command in RFC 977, which was not widely implemented. MODE READER was first available in INN.

客户端使用模式读取器向服务器指示它是一个新闻读取客户端。一些实现利用这些信息来重新配置自己,以便在响应新闻阅读器命令时获得更好的性能。此命令可以与RFC 977中的从属命令形成对比,后者未得到广泛实现。模式读取器在INN中首次可用。

2.3.1 Responses
2.3.1 响应

200 Hello, you can post 201 Hello, you can't post

200你好,你可以发201你好,你不能发

2.4 XGTITLE
2.4 XGTITLE

XGTITLE [wildmat]

XGTITLE[wildmat]

The XGTITLE command is used to retrieve news group descriptions for specific news groups.

XGTITLE命令用于检索特定新闻组的新闻组描述。

This extension first appeared in ANU-NEWS, an NNTP implementation for DEC's VMS. The optional parameter is a pattern in wildmat format. When executed, a 282 response is given followed by lines that have two fields, the news group name (which matches the pattern in the argument) and a short explanation of the purpose of the news group. When no argument is specified, the default argument is the current group name. When display is completed, the server sends a period on a line by itself.

这个扩展首先出现在ANU-NEWS中,这是DEC虚拟机的NNTP实现。可选参数是wildmat格式的图案。执行时,将给出一个282响应,后面是包含两个字段的行,即新闻组名称(与参数中的模式匹配)和新闻组用途的简短说明。未指定参数时,默认参数为当前组名。显示完成后,服务器会自行在一行上发送一个句点。

Please note that this command and the LIST NEWSGROUP command provide the same functionality with different response codes.

请注意,此命令和LIST NEWSGROUP命令使用不同的响应代码提供相同的功能。

Since this command provides the same functionality as LIST NEWSGROUP it is suggested that this extension be deprecated and no longer be used in newsreading clients.

由于此命令提供与列表新闻组相同的功能,因此建议不要使用此扩展,不要再在新闻阅读客户端中使用。

Note that there is a conflict in one of the response codes from XGTITLE and some of the authentication extensions.

请注意,XGTITLE的一个响应代码与某些身份验证扩展中存在冲突。

2.5.1 Responses
2.5.1 响应

481 Groups and descriptions unavailable 282 list of groups and descriptions follows

481组和说明不可用282组和说明列表如下

2.6 XHDR
2.6 XHDR

XHDR header [range|<message-id>]

XHDR头[范围|<消息id>]

The XHDR command is used to retrieve specific headers from specific articles.

XHDR命令用于从特定文章检索特定标题。

The required parameter is the name of a header line (e.g. "subject") in a news group article. See RFC 1036 for a list of valid header lines. The optional range argument may be any of the following:

所需参数是新闻组文章中标题行(例如“主题”)的名称。有关有效标题行的列表,请参见RFC 1036。可选范围参数可以是以下任一参数:

an article number an article number followed by a dash to indicate all following an article number followed by a dash followed by another article number

物品编号后跟破折号的物品编号,表示物品编号后跟破折号,再跟另一个物品编号

The optional message-id argument indicates a specific article. The range and message-id arguments are mutually exclusive. If no argument is specified, then information from the current article is displayed. Successful responses start with a 221 response followed by a the matched headers from all matched messages. Each line containing matched headers returned by the server has an article number (or message ID, if a message ID was specified in the command), then one or more spaces, then the value of the requested header in that article. Once the output is complete, a period is sent on a line by itself. If the optional argument is a message-id and no such article exists, the 430 error response is returned. If a range is specified, a news group must have been selected earlier, else a 412 error response is returned. If no articles are in the range specified, a 420 error response is returned by the server. A 502 response will be returned if the client only has permission to transfer articles.

可选的message id参数表示特定的项目。范围和消息id参数是互斥的。如果未指定参数,则显示当前文章中的信息。成功的响应从221个响应开始,然后是从所有匹配消息中选择匹配的标头。包含服务器返回的匹配头的每一行都有一个项目编号(或消息ID,如果命令中指定了消息ID),然后是一个或多个空格,然后是该项目中请求的头的值。一旦输出完成,一个周期将自动发送到一行上。如果可选参数是消息id,并且不存在此类项目,则返回430错误响应。如果指定了范围,则必须先选择新闻组,否则将返回412错误响应。如果指定的范围内没有项目,服务器将返回420错误响应。如果客户端仅具有转移文章的权限,则将返回502响应。

Some implementations will return "(none)" followed by a period on a line by itself if no headers match in any of the articles searched. Others return the 221 response code followed by a period on a line by itself.

如果在搜索的任何文章中没有标题匹配,一些实现将返回“(none)”并在一行上加上句点。另一些则返回221响应代码,后跟一个句点。

The XHDR command has been available in the UNIX reference implementation from its first release. However, until now, it has been documented only in the source for the server.

XHDR命令从第一个版本起就可以在UNIX参考实现中使用。但是,到目前为止,它只在服务器的源代码中记录。

2.6.1 Responses
2.6.1 响应

221 Header follows 412 No news group current selected 420 No current article selected 430 no such article 502 no permission

221标题跟随412未选择当前新闻组420未选择当前文章430无此类文章502无权限

2.7 XINDEX
2.7 XINDEX

XINDEX ggg

XINDEX-ggg

The XINDEX command is used to retrieve an index file in the format of originally created for use by the TIN [6] news reader.

XINDEX命令用于以最初创建的格式检索索引文件,以供TIN[6]新闻阅读器使用。

The required parameter ggg is the name of the news group to be selected (e.g. "news.software.b"). A list of valid news groups may be obtained from the LIST command.

所需参数ggg是要选择的新闻组的名称(例如“news.software.b”)。可以从list命令获得有效新闻组的列表。

The successful selection response will return index file in the format used by the TIN news reader followed by a period on a line by itself.

成功的选择响应将以TIN新闻读取器使用的格式返回索引文件,然后在一行上加上句号。

When a valid group is selected by means of this command, the internally maintained "current article pointer" is set to the first article in the group. If an invalid group is specified, the previously selected group and article remain selected. If an empty news group is selected, the "current article pointer" is in an indeterminate state and should not be used.

通过此命令选择有效组时,内部维护的“当前项目指针”将设置为组中的第一个项目。如果指定了无效的组,则先前选择的组和项目将保持选中状态。如果选择了空新闻组,“当前文章指针”处于不确定状态,不应使用。

Note that the name of the news group is not case-dependent. It must otherwise match a news group obtained from the LIST command or an error will result.

请注意,新闻组的名称不取决于大小写。否则,它必须与从LIST命令获得的新闻组匹配,否则将导致错误。

The format of the tin-style index file is discussed in the documentation for the TIN newsreader. Since more recent versions of TIN support the news overview (NOV) format, it is recommended that this extension become historic and no longer be used in current servers or future implementations.

tin新闻阅读器的文档中讨论了tin样式索引文件的格式。由于较新版本的TIN支持新闻概述(NOV)格式,因此建议将此扩展变为历史性扩展,不再用于当前服务器或未来的实现。

2.7.1 Responses
2.7.1 响应

218 tin-style index follows 418 no tin-style index is available for this news group

218 tin样式索引如下418此新闻组没有tin样式索引可用

2.8 XOVER
2.8 XOVER

XOVER [range]

XOVER[范围]

The XOVER command returns information from the overview database for the article(s) specified. This command was originally suggested as part of the OVERVIEW work described in "The Design of a Common Newsgroup Overview Database for Newsreaders" by Geoff Collyer. This document is distributed in the Cnews distribution. The optional range argument may be any of the following:

XOVER命令从概述数据库返回指定文章的信息。这个命令最初是作为Geoff Collyer在“新闻阅读器通用新闻组概览数据库的设计”中描述的概览工作的一部分提出的。本文件在Cnews发行版中发布。可选范围参数可以是以下任一参数:

an article number an article number followed by a dash to indicate all following an article number followed by a dash followed by another article number

物品编号后跟破折号的物品编号,表示物品编号后跟破折号,再跟另一个物品编号

If no argument is specified, then information from the current article is displayed. Successful responses start with a 224 response followed by the overview information for all matched messages. Once the output is complete, a period is sent on a line by itself. If no argument is specified, the information for the current article is returned. A news group must have been selected earlier, else a 412 error response is returned. If no articles are in the range specified, a 420 error response is returned by the server. A 502 response will be returned if the client only has permission to transfer articles.

如果未指定参数,则显示当前文章中的信息。成功的响应以224响应开始,然后是所有匹配消息的概述信息。一旦输出完成,一个周期将自动发送到一行上。如果未指定参数,则返回当前项目的信息。必须先选择新闻组,否则将返回412错误响应。如果指定的范围内没有项目,服务器将返回420错误响应。如果客户端仅具有转移文章的权限,则将返回502响应。

Each line of output will be formatted with the article number, followed by each of the headers in the overview database or the article itself (when the data is not available in the overview database) for that article separated by a tab character. The sequence of fields must be in this order: subject, author, date, message-id, references, byte count, and line count. Other optional fields may follow line count. Other optional fields may follow line count. These fields are specified by examining the response to the LIST OVERVIEW.FMT command. Where no data exists, a null field must be provided (i.e. the output will have two tab characters adjacent to each other). Servers should not output fields for articles that have been removed since the XOVER database was created.

输出的每一行都将被格式化为文章编号,然后是该文章的概述数据库中的每个标题或文章本身(当数据在概述数据库中不可用时),用制表符分隔。字段的顺序必须是:主题、作者、日期、消息id、引用、字节数和行数。行计数后面可能有其他可选字段。行计数后面可能有其他可选字段。通过检查对LIST OVERVIEW.FMT命令的响应来指定这些字段。如果不存在数据,则必须提供空字段(即输出将有两个相邻的制表符)。服务器不应输出自XOVER数据库创建以来已删除的项目的字段。

The LIST OVERVIEW.FMT command should be implemented if XOVER is implemented. A client can use LIST OVERVIEW.FMT to determine what optional fields and in which order all fields will be supplied by the XOVER command. See Section 2.1.7 for more details about the LIST OVERVIEW.FMT command.

如果实现了XOVER,则应实现LIST OVERVIEW.FMT命令。客户端可以使用LIST OVERVIEW.FMT来确定XOVER命令将提供哪些可选字段以及所有字段的顺序。有关LIST OVERVIEW.FMT命令的更多详细信息,请参见第2.1.7节。

Note that any tab and end-of-line characters in any header data that is returned will be converted to a space character.

请注意,返回的任何标头数据中的任何制表符和行尾字符都将转换为空格字符。

2.8.1 Responses
2.8.1 响应

224 Overview information follows 412 No news group current selected 420 No article(s) selected 502 no permission

224概述信息如下412无新闻组当前选择420无文章选择502无权限

2.9 XPAT
2.9 XPAT

XPAT header range|<message-id> pat [pat...]

XPAT头范围|<message id>pat[pat…]

The XPAT command is used to retrieve specific headers from specific articles, based on pattern matching on the contents of the header. This command was first available in INN.

XPAT命令用于根据标题内容的模式匹配从特定文章中检索特定标题。这个命令最初是在INN中可用的。

The required header parameter is the name of a header line (e.g. "subject") in a news group article. See RFC 1036 for a list of valid header lines. The required range argument may be any of the following:

所需的标题参数是新闻组文章中标题行(例如“主题”)的名称。有关有效标题行的列表,请参见RFC 1036。所需的范围参数可以是以下任一参数:

an article number an article number followed by a dash to indicate all following an article number followed by a dash followed by another article number

物品编号后跟破折号的物品编号,表示物品编号后跟破折号,再跟另一个物品编号

The required message-id argument indicates a specific article. The range and message-id arguments are mutually exclusive. At least one pattern in wildmat must be specified as well. If there are additional arguments the are joined together separated by a single space to form one complete pattern. Successful responses start with a 221 response followed by a the headers from all messages in which the pattern matched the contents of the specified header line. This includes an empty list. Once the output is complete, a period is sent on a line by itself. If the optional argument is a message-id and no such article exists, the 430 error response is returned. A 502 response will be returned if the client only has permission to transfer articles.

必需的message id参数表示特定的项目。范围和消息id参数是互斥的。还必须在wildmat中指定至少一个图案。如果存在其他参数,则这些参数将连接在一起,并用一个空格分隔,以形成一个完整的模式。成功的响应从221响应开始,后跟一个从模式与指定头行内容匹配的所有消息的头开始。这包括一个空列表。一旦输出完成,一个周期将自动发送到一行上。如果可选参数是消息id,并且不存在此类项目,则返回430错误响应。如果客户端仅具有转移文章的权限,则将返回502响应。

2.9.1 Responses
2.9.1 响应

221 Header follows 430 no such article 502 no permission

221页眉以下430无此类条款502无许可

2.10 The XPATH command
2.10 XPATH命令

XPATH <message-id>

XPATH<消息id>

The XPATH command is used to determine the filenames in which an article is filed. It first appeared in INN.

XPATH命令用于确定归档项目的文件名。它最初出现在旅馆里。

The required parameter message-id is the message id of an article as shown in that article's message-id header. According to RFC 1036 [3], all message ids for all articles within the netnews environment are unique, but articles may be crossposted to multiple groups. The response to an XPATH command will include a listing of all filenames in which an article is stored separated by spaces or a response indicating that no article with the specified message-id exists. The returned data is only useful if the news client knows the implementation details of the server. Because of this, it is recommended that client avoid using this command.

所需参数message id是文章的消息id,如该文章的消息id头所示。根据RFC 1036[3],netnews环境中所有文章的所有消息ID都是唯一的,但文章可能会交叉发布到多个组。对XPATH命令的响应将包括一个所有文件名的列表,其中项目以空格分隔存储,或者一个指示不存在具有指定消息id的项目的响应。只有当新闻客户端知道服务器的实现细节时,返回的数据才有用。因此,建议客户端避免使用此命令。

2.10.1 Responses
2.10.1 响应

223 path1[ path2 ...] 430 no such article on server

223路径1[路径2…]430服务器上没有此类文章

2.11 The XROVER command
2.11 XROVER命令

XROVER [range]

XROVER[揽胜]

The XROVER command returns reference information from the overview database for the article(s) specified. This command first appeared in the Unix reference implementation. The optional range argument may be any of the following:

XROVER命令从概述数据库返回指定文章的参考信息。此命令首先出现在Unix参考实现中。可选范围参数可以是以下任一参数:

an article number an article number followed by a dash to indicate all following an article number followed by a dash followed by another article number

物品编号后跟破折号的物品编号,表示物品编号后跟破折号,再跟另一个物品编号

Successful responses start with a 224 response followed by the contents of reference information for all matched messages. Once the output is complete, a period is sent on a line by itself. If no argument is specified, the information for the current article is returned. A news group must have been selected earlier, else a 412 error response is returned. If no articles are in the range specified, a 420 error response is returned by the server. A 502 response will be returned if the client only has permission to transfer articles.

成功的响应以224响应开始,然后是所有匹配消息的参考信息内容。一旦输出完成,一个周期将自动发送到一行上。如果未指定参数,则返回当前项目的信息。必须先选择新闻组,否则将返回412错误响应。如果指定的范围内没有项目,服务器将返回420错误响应。如果客户端仅具有转移文章的权限,则将返回502响应。

The output will be formatted with the article number, followed by the contents of the References: line for that article, but does not contain the field name itself.

输出将被格式化为文章编号,后跟该文章的References:行的内容,但不包含字段名本身。

This command provides the same basic functionality as using the XHDR command and "references" as the header argument.

此命令提供与使用XHDR命令和“references”作为头参数相同的基本功能。

2.11.1 Responses
2.11.1 响应

224 Overview information follows 412 No news group current selected 420 No article(s) selected 502 no permission

224概述信息如下412无新闻组当前选择420无文章选择502无权限

2.12 XTHREAD
2.12 XTHREAD

XTHREAD [DBINIT|THREAD]

XTHREAD[DBINIT | THREAD]

The XTHREAD command is used to retrieve threading information in format of originally created for use by the TRN [6] news reader.

XTHREAD命令用于以最初创建供TRN[6]新闻读取器使用的格式检索线程信息。

The command XTHREAD DBINIT may be issued prior to entering any groups to see if a thread database exists. If it does, the database's byte order and version number are returned as binary data.

可以在输入任何组之前发出命令XTHREAD DBINIT,以查看线程数据库是否存在。如果是,数据库的字节顺序和版本号将作为二进制数据返回。

If no parameter is given, XTHREAD THREAD is assumed.

如果没有给出参数,则假定为XTHREAD THREAD。

To use XTHREAD THREAD, a news group must have been selected earlier, else a 412 error response is returned.

若要使用XTHREAD线程,必须先选择新闻组,否则将返回412错误响应。

A 502 response will be returned if the client only has permission to transfer articles. A 503 response is returned if the threading files are not available.

如果客户端仅具有转移文章的权限,则将返回502响应。如果线程文件不可用,则返回503响应。

The format of the trn-style thread format is discussed in the documentation for the TRN newsreader. Since more recent versions of TRN support the news overview (NOV) format, it is recommended that this extension become historic and no longer be used in current servers or future implementations.

trn新闻阅读器的文档中讨论了trn样式线程格式的格式。由于较新版本的TRN支持新闻概览(NOV)格式,因此建议将此扩展变为历史性的,不再用于当前服务器或未来的实现中。

2.12.1 Responses
2.12.1 响应

288 Binary data to follow 412 No newsgroup current selected 502 No permission 503 program error, function not performed

288二进制数据跟随412无新闻组当前选择502无权限503程序错误,未执行功能

3. Other Extensions
3. 其他扩展
3.1 AUTHINFO
3.1 AUTHINFO

AUTHINFO is used to inform a server about the identity of a user of the server. In all cases, clients must provide this information when requested by the server. Servers are not required to accept authentication information that is volunteered by the client. Clients must accommodate servers that reject any authentication information volunteered by the client.

AUTHINFO用于向服务器通知服务器用户的身份。在所有情况下,客户机必须在服务器请求时提供此信息。服务器不需要接受客户端自愿提供的身份验证信息。客户端必须容纳拒绝客户端自愿提供的任何身份验证信息的服务器。

There are three forms of AUTHINFO in use. The original version, an NNTP v2 revision called AUTHINFO SIMPLE and a more recent version which is called AUTHINFO GENERIC.

使用的AUTHINFO有三种形式。原始版本是一个名为AUTHINFO SIMPLE的NNTP v2修订版,以及一个名为AUTHINFO GENERIC的较新版本。

3.1.1 Original AUTHINFO
3.1.1 原始AUTHINFO

AUTHINFO USER username AUTHINFO PASS password

AUTHINFO用户用户名AUTHINFO密码

The original AUTHINFO is used to identify a specific entity to the server using a simple username/password combination. It first appeared in the UNIX reference implementation.

原始AUTHINFO用于使用简单的用户名/密码组合向服务器标识特定实体。它首先出现在UNIX参考实现中。

When authorization is required, the server will send a 480 response requesting authorization from the client. The client must enter AUTHINFO USER followed by the username. Once sent, the server will cache the username and may send a 381 response requesting the password associated with that username. Should the server request a password using the 381 response, the client must enter AUTHINFO PASS followed by a password and the server will then check the authentication database to see if the username/password combination is valid. If the combination is valid or if no password is required, the server will return a 281 response. The client should then retry the original command to which the server responded with the 480 response. The command should then be processed by the server normally. If the combination is not valid, the server will return a 502 response.

当需要授权时,服务器将发送480响应,请求客户端进行授权。客户端必须输入AUTHINFO USER,后跟用户名。一旦发送,服务器将缓存用户名,并可能发送381响应,请求与该用户名关联的密码。如果服务器使用381响应请求密码,客户端必须输入AUTHINFO PASS,然后输入密码,然后服务器将检查身份验证数据库,以查看用户名/密码组合是否有效。如果组合有效或不需要密码,服务器将返回281响应。然后,客户端应重试服务器以480响应响应的原始命令。然后,服务器应正常处理该命令。如果组合无效,服务器将返回502响应。

Clients must provide authentication when requested by the server. It is possible that some implementations will accept authentication information at the beginning of a session, but this was not the original intent of the specification. If a client attempts to reauthenticate, the server may return 482 response indicating that the new authentication data is rejected by the server. The 482 code will also be returned when the AUTHINFO commands are not entered in the correct sequence (like two AUTHINFO USERs in a row, or AUTHINFO PASS preceding AUTHINFO USER).

当服务器请求时,客户端必须提供身份验证。有些实现可能会在会话开始时接受身份验证信息,但这不是规范的初衷。如果客户端尝试重新验证,服务器可能返回482响应,指示服务器拒绝新的验证数据。如果未按正确顺序输入AUTHINFO命令(如一行中有两个AUTHINFO用户,或AUTHINFO PASS前面的AUTHINFO用户),也将返回482代码。

All information is passed in cleartext.

所有信息都以明文形式传递。

When authentication succeeds, the server will create an email address for the client from the user name supplied in the AUTHINFO USER command and the hostname generated by a reverse lookup on the IP address of the client. If the reverse lookup fails, the IP address, represented in dotted-quad format, will be used. Once authenticated, the server shall generate a Sender: line using the email address provided by authentication if it does not match the client-supplied From: line. Additionally, the server should log the event, including the email address. This will provide a means by which subsequent statistics generation can associate newsgroup references with unique entities - not necessarily by name.

身份验证成功后,服务器将根据AUTHINFO user命令中提供的用户名和通过反向查找客户端IP地址生成的主机名为客户端创建电子邮件地址。如果反向查找失败,将使用以虚线四元格式表示的IP地址。一旦通过身份验证,服务器应使用身份验证提供的电子邮件地址生成发件人:行,如果该地址与从:行提供的客户端不匹配。此外,服务器应记录事件,包括电子邮件地址。这将提供一种方法,通过这种方法,后续的统计信息生成可以将新闻组引用与唯一的实体关联起来,而不必按名称关联。

3.1.1.1 Responses
3.1.1.1 响应

281 Authentication accepted 381 More authentication information required 480 Authentication required 482 Authentication rejected 502 No permission

281身份验证接受381更多身份验证信息需要480身份验证需要482身份验证拒绝502没有权限

3.1.2 AUTHINFO SIMPLE
3.1.2 AUTHINFO简单

AUTHINFO SIMPLE user password

AUTHINFO简单用户密码

This version of AUTHINFO was part of a proposed NNTP V2 specification, which was started in 1991 but never completed, and is implemented in some servers and clients. It is a refinement of the original AUTHINFO and provides the same basic functionality, but the sequence of commands is much simpler.

此版本的AUTHINFO是提议的NNTP V2规范的一部分,该规范于1991年启动,但从未完成,并在一些服务器和客户端中实现。它是对原始AUTHINFO的改进,提供了相同的基本功能,但命令序列要简单得多。

When authorization is required, the server sends a 450 response requesting authorization from the client. The client must enter AUTHINFO SIMPLE. If the server will accept this form of authentication, the server responds with a 350 response. The client must then send the username followed by one or more space characters followed by the password. If accepted, the server returns a 250 response and the client should then retry the original command to which the server responded with the 450 response. The command should then be processed by the server normally. If the combination is not valid, the server will return a 452 response.

当需要授权时,服务器发送450响应,请求客户机授权。客户端必须输入AUTHINFO SIMPLE。如果服务器将接受这种形式的身份验证,服务器将以350响应进行响应。然后,客户端必须发送用户名,后跟一个或多个空格字符和密码。如果接受,服务器将返回250响应,然后客户端应重试服务器以450响应响应的原始命令。然后,服务器应正常处理该命令。如果组合无效,服务器将返回452响应。

Note that the response codes used here were part of the proposed NNTP V2 specification and are violations of RFC 977. It is recommended that this command not be implemented, but use either or both of the other forms of AUTHINFO if such functionality if required.

请注意,此处使用的响应代码是拟议NNTP V2规范的一部分,违反了RFC 977。建议不要执行此命令,但如果需要,请使用其他形式的AUTHINFO或同时使用这两种形式的AUTHINFO。

3.1.2.1 Responses
3.1.2.1 响应

250 Authorization accepted 350 Continue with authorization sequence 450 Authorization required for this command 452 Authorization rejected

250已接受授权350继续执行授权序列450此命令所需的授权452已拒绝授权

3.1.3 AUTHINFO GENERIC
3.1.3 AUTHINFO通用

AUTHINFO GENERIC authenticator arguments...

AUTHINFO通用身份验证程序参数。。。

AUTHINFO GENERIC is used to identify a specific entity to the server using arbitrary authentication or identification protocols. The desired protocol is indicated by the authenticator parameter, and any number of parameters can be passed to the authenticator.

AUTHINFO GENERIC用于使用任意身份验证或标识协议向服务器标识特定实体。所需的协议由authenticator参数指示,并且可以将任意数量的参数传递给authenticator。

When authorization is required, the server will send a 480 response requesting authorization from the client. The client should enter AUTHINFO GENERIC followed by the authenticator name, and the arguments if any. The authenticator and arguments must not contain the sequence "..".

当需要授权时,服务器将发送480响应,请求客户端进行授权。客户端应输入AUTHINFO GENERIC,后跟验证器名称和参数(如果有)。验证器和参数不能包含序列“.”。

The server will attempt to engage the server end authenticator, similarly, the client should engage the client end authenticator. The server end authenticator will then initiate authentication using the NNTP sockets (if appropriate for that authentication protocol), using the protocol specified by the authenticator name. These authentication protocols are not included in this document, but are similar in structure to those referenced in RFC 1731 [8] for the IMAP-4 protocol.

服务器将尝试使用服务器端身份验证器,同样,客户端应使用客户端身份验证器。然后,服务器端身份验证程序将使用NNTP套接字(如果适用于该身份验证协议)启动身份验证,使用身份验证程序名称指定的协议。这些认证协议未包含在本文件中,但在结构上与RFC 1731[8]中针对IMAP-4协议引用的协议类似。

If the server returns 501, this means that the authenticator invocation was syntactically incorrect, or that AUTHINFO GENERIC is not supported. The client should retry using the AUTHINFO USER command.

如果服务器返回501,这意味着验证器调用在语法上不正确,或者不支持AUTHINFO GENERIC。客户端应使用AUTHINFO用户命令重试。

If the requested authenticator capability is not found, the server returns the 503 response code.

如果未找到请求的验证器功能,服务器将返回503响应代码。

If there is some other unspecified server program error, the server returns the 500 response code.

如果存在其他未指定的服务器程序错误,服务器将返回500响应代码。

The authenticators converse using their protocol until complete. If the authentication succeeds, the server authenticator will terminate with a 281, and the client can continue by reissuing the command that prompted the 380. If the authentication fails, the server will respond with a 502.

认证者使用他们的协议进行对话,直到完成。如果身份验证成功,服务器身份验证程序将以281终止,客户端可以通过重新发出提示380的命令继续。如果身份验证失败,服务器将以502响应。

The client must provide authentication when requested by the server. The server may request authentication at any time. Servers may request authentication more than once during a single session.

当服务器请求时,客户端必须提供身份验证。服务器可以随时请求身份验证。服务器可以在单个会话中多次请求身份验证。

When the server authenticator completes, it provides to the server (by a mechanism herein undefined) the email address of the user, and potentially what the user is allowed to access. Once authenticated, the server shall generate a Sender: line using the email address provided by the authenticator if it does not match the user-supplied From: line. Additionally, the server should log the event, including the user's authenticated email address (if available). This will provide a means by which subsequent statistics generation can associate newsgroup references with unique entities - not necessarily by name.

当服务器验证器完成时,它向服务器(通过本文未定义的机制)提供用户的电子邮件地址,以及可能允许用户访问的内容。一旦通过身份验证,服务器应使用身份验证人提供的电子邮件地址生成发件人:行,如果该地址与从:行提供的用户不匹配。此外,服务器应记录事件,包括用户经过身份验证的电子邮件地址(如果可用)。这将提供一种方法,通过这种方法,后续的统计信息生成可以将新闻组引用与唯一的实体关联起来,而不必按名称关联。

Some implementations make it possible to obtain a list of authentication procedures available by sending the server AUTHINFO GENERIC with no arguments. The server then returns a list of supported mechanisms followed by a period on a line by itself.

一些实现通过发送服务器AUTHINFO GENERIC(不带参数),可以获得可用的身份验证过程列表。然后,服务器返回一个受支持机制的列表,后跟一个句点。

3.1.3.1 Responses
3.1.3.1 响应

281 Authentication succeeded 480 Authentication required 500 Command not understood 501 Command not supported 502 No permission 503 Program error, function not performed nnn authenticator-specific protocol.

281身份验证成功480身份验证需要500命令不理解501命令不支持502无权限503程序错误,功能未执行nnn身份验证程序特定协议。

3.2 DATE
3.2 日期

DATE

日期

The first NNTP working group discussed and proposed a syntax for this command to help clients find out the current time from the server's perspective. At the time this command was discussed (1991-1992), the Network Time Protocol [9] (NTP) was not yet in wide use and there was also some concern that small systems may not be able to make effective use of NTP.

第一个NNTP工作组讨论并提出了此命令的语法,以帮助客户端从服务器的角度找出当前时间。在讨论该命令时(1991-1992年),网络时间协议[9](NTP)尚未得到广泛使用,同时也有人担心小型系统可能无法有效利用NTP。

This command returns a one-line response code of 111 followed by the GMT date and time on the server in the form YYYYMMDDhhmmss.

此命令返回一行响应代码111,后跟服务器上的GMT日期和时间,格式为YYYYMMDDhhmmss。

3.2.1 Responses
3.2.1 响应

111 YYYYMMDDhhmmss

111 YYYYMMDDHMMSS

3.3 The WILDMAT format
3.3 WILDMAT格式

The WILDMAT format was first developed by Rich Salz based on the format used in the UNIX "find" command to articulate file names. It was developed to provide a uniform mechanism for matching patterns in the same manner that the UNIX shell matches filenames. Patterns are implicitly anchored at the beginning and end of each string when testing for a match. There are five pattern matching operations other than a strict one-to-one match between the pattern and the source to be checked for a match. The first is an asterisk (*) to match any sequence of zero or more characters. The second is a question mark (?) to match any single character. The third specifies a specific set of characters. The set is specified as a list of characters, or as a range of characters where the beginning and end of the range are separated by a minus (or dash) character, or as any combination of lists and ranges. The dash can also be included in the set as a character it if is the beginning or end of the set. This set is enclosed in square brackets. The close square bracket (]) may be used in a set if it is the first character in the set. The fourth operation is the same as the logical not of the third operation and is specified the same way as the third with the addition of a caret character (^) at the beginning of the test string just inside the open square bracket. The final operation uses the backslash character to invalidate the special meaning of the a open square bracket ([), the asterisk, backslash or the question mark. Two backslashes in sequence will result in the evaluation of the backslash as a character with no special meaning.

WILDMAT格式首先由richsalz开发,它基于UNIX“find”命令中用于表达文件名的格式。开发它是为了提供一种统一的模式匹配机制,其方式与UNIX shell匹配文件名的方式相同。测试匹配时,模式隐式地锚定在每个字符串的开头和结尾。除了模式与要检查匹配的源之间严格的一对一匹配之外,还有五种模式匹配操作。第一个是星号(*),用于匹配零个或多个字符的任何序列。第二个是问号(?),用于匹配任何单个字符。第三个指定一组特定的字符。该集合指定为字符列表,或指定为字符范围,其中范围的开头和结尾由减号(或破折号)字符分隔,或指定为列表和范围的任意组合。如果破折号是集合的开始或结束,则破折号也可以作为字符包含在集合中。这一套用方括号括起来。如果是集合中的第一个字符,则可以在集合中使用右方括号(])。第四个操作与第三个操作的逻辑not相同,并以与第三个操作相同的方式指定,即在开放方括号内的测试字符串开头添加插入符号(^)。最后一个操作使用反斜杠字符使开方括号([)、星号、反斜杠或问号的特殊含义无效。连续两个反斜杠将导致反斜杠作为无特殊含义的字符进行计算。

3.3.1 Examples
3.3.1 例子

a. [^]-] -- matches any single character other than a close square bracket or a minus sign/dash.

a. [^]-]——匹配除方括号或减号/破折号以外的任何单个字符。

b. *bdc -- matches any string that ends with the string "bdc" including the string "bdc" (without quotes).

b. *bdc——匹配以字符串“bdc”结尾的任何字符串,包括字符串“bdc”(不带引号)。

c. [0-9a-zA-Z] -- matches any single printable alphanumeric ASCII character.

c. [0-9a-zA-Z]--匹配任何单个可打印的字母数字ASCII字符。

d. a??d -- matches any four character string which begins with a and ends with d.

d. a??d——匹配以a开头、以d结尾的任何四个字符串。

3.4 Additional Headers
3.4 附加标题

Many NNTP implementations add headers to Usenet articles when then are POSTed via NNTP. These headers are discussed in this section. None of these headers conflict with those specified in RFC 1036 and should be passed unchanged by Usenet transports conforming to RFC 1036.

许多NNTP实现在通过NNTP发布时向Usenet文章添加标题。本节将讨论这些标题。这些头文件与RFC 1036中规定的头文件均不冲突,应通过符合RFC 1036的Usenet transports原封不动地传递。

3.4.1 NNTP-Posting-Host
3.4.1 NNTP发布主机

This line is added to the header of a posted article by the server. The contents of the header is either the IP address or the fully qualified domain name of the client host posting the article. The fully qualified domain name should be determined by doing a reverse lookup in the DNS on the IP address of the client. If the client article contains this line, it is removed by the server before acceptance of the article by the Usenet transport system.

该行由服务器添加到已发布文章的标题中。标题的内容是发布文章的客户端主机的IP地址或完全限定的域名。应通过在DNS中对客户端的IP地址进行反向查找来确定完全限定的域名。如果客户端文章包含此行,则在Usenet传输系统接受该文章之前,服务器会将其删除。

This header provides some idea of the actual host posting the article as opposed to information in the Sender or From lines that may be present in the article. This is not a fool-proof methodology since reverse lookups in the DNS are vulnerable to certain types of spoofing, but such discussions are outside the scope of this document.

此标题提供了发布文章的实际主机的一些信息,而不是发件人或文章中可能出现的行中的信息。这不是一种傻瓜式的方法,因为DNS中的反向查找容易受到某些类型欺骗的攻击,但此类讨论不在本文档的范围内。

3.4.2 X-Newsreader and others
3.4.2 X-Newsreader及其他

There are other lines that are added by clients as well. Most of these indicate the type of newsreader software that is posting the article.

客户机还添加了其他行。其中大多数都表示发布文章的新闻阅读器软件的类型。

4.0 Common Implementation Issues
4.0 共同执行问题

Many NNTP implementations do not follow the specifications in RFC 977. In this section, some common implementation issues are summarized.

许多NNTP实现不遵循RFC 977中的规范。在本节中,将总结一些常见的实现问题。

4.1 The Response to the LIST command
4.1 对LIST命令的响应

RFC 977 says that the fourth field of the "list of valid newsgroups associated information" returned must be "either 'y' or 'n' indicating whether posting to this newsgroup is allowed ('y') or prohibited ('n'). Most implementations simply output the exact contents of the transport system's active newsgroup list. For more implementations, the fourth field usually has more values that 'y' or 'n'.

RFC 977表示,返回的“有效新闻组关联信息列表”的第四个字段必须是“y”或“n”,表示是否允许向该新闻组发布(“y”)或禁止发布(“n”)。大多数实现只输出传输系统活动新闻组列表的确切内容。对于更多实现,第四个字段的值通常大于“y”或“n”。

4.2 The Required Headers in an Article and the POST command
4.2 文章中所需的标题和POST命令

RFC 977 notes in section 3.10.1 that articles presented "should include all required header lines." In fact, modern implementations only require From, Subject, and Newsgroups header lines and will supply the rest; further, many implementers believe that it is best for clients to generate as few headers as possible, since clients often do not format other headers correctly.

RFC 977在第3.10.1节中指出,文章“应包括所有必需的标题行”。事实上,现代实现只需要From、Subject和Newsgroups标题行,并将提供其余的标题行;此外,许多实现者认为,最好让客户机生成尽可能少的头,因为客户机通常无法正确格式化其他头。

This implementation behavior is consistent with both Bnews and Cnews which would supply missing headers for articles directly submitted to them.

此实现行为与Bnews和Cnews一致,后者将为直接提交给它们的文章提供缺少的标题。

4.3 Article Numbering
4.3 物品编号

RFC 977 does not directly address the rules concerning articles number. However, the current practice is simple: article numbers are monotonically increasing, articles may disappear, and therefore the high and low water marks returned in a GROUP command should be treated as maximum minima, and minimum maxima, respectively.

RFC 977未直接涉及有关物品编号的规则。但是,当前的做法很简单:项目数量单调增加,项目可能会消失,因此在组命令中返回的高水位线和低水位线应分别视为最大最小值和最小最大值。

4.4 Availability of commands defined in RFC 977
4.4 RFC 977中定义的命令的可用性

Some implementations permit administrators to disable commands defined RFC 977. Some implementations have some set of commands disabled by default. This means that client implementations cannot depend on the availability of the disabled set of commands. This increases the complexity of the client and does not encourage implementors to optimize the implementation of commands that don't perform well.

一些实现允许管理员禁用RFC 977定义的命令。某些实现在默认情况下禁用了一些命令集。这意味着客户端实现不能依赖于禁用的命令集的可用性。这增加了客户机的复杂性,并且不鼓励实现者优化性能不佳的命令的实现。

NEWNEWS is one of the commands frequently disabled.

NEWNEWS是经常被禁用的命令之一。

4.5 The Distribution header and NEWNEWS
4.5 发行版标题和新闻

In section 12.4 of RFC 977, the optional distributions argument is described. This argument, according to RFC 977, would limit the responses to articles that were in newsgroups with prefixes that matched the optional distributions argument.

RFC 977的第12.4节描述了可选分布参数。根据RFC977,此参数将限制对新闻组中前缀与可选分发版本参数匹配的文章的响应。

Some implementations implement this by matching the Distributions header in articles to the distribution argument. Others do the match against segments of the newsgroup's name.

一些实现通过将文章中的分发标头与分发参数相匹配来实现这一点。其他人则根据新闻组名称的片段进行匹配。

This variation is probably best explained by the evolution of the USENET article format. At the time RFC 977 was specified, the newsgroup name defined how the group was distributed throughout USENET. RFC 1036 changed this convention. So, those that are

这种变化可能最好的解释是USENET文章格式的演变。在指定RFC977时,新闻组名称定义了该组在整个USENET中的分布方式。RFC1036改变了这个惯例。那么,那些是

strictly implementing RFC 977 would match the newsgroup name prefix against the distribution argument and only display matches. Those that implement against the intent of the command (as modified by the redefinition of the article format)would match the Distributions header against the distribution argument and only display those matches.

严格实现RFC977将使新闻组名称前缀与分发参数匹配,并且只显示匹配项。那些违背命令意图的实现(通过重新定义文章格式进行修改)将根据分发参数匹配分发标头,并且只显示那些匹配项。

5.0 Further Work
5.0 进一步工作

With the continued use of NNTP on the Internet, there remains an interest in creating an optimized transport protocol for server-to-server transfers and an optimized client protocol for client-to-server interactions. There is also considerable interest is building better mechanisms to provide audit information on which news groups are being read by which users.

随着NNTP在Internet上的继续使用,人们仍然有兴趣创建用于服务器到服务器传输的优化传输协议和用于客户端到服务器交互的优化客户端协议。人们还相当感兴趣的是建立更好的机制,提供关于哪些用户正在阅读哪些新闻组的审计信息。

An IETF working group has been formed and it is the hope of this author that these issues will be addressed in that forum.

一个IETF工作组已经成立,作者希望这些问题将在该论坛上得到解决。

6.0 Security Considerations
6.0 安全考虑

The use of the AUTHINFO is optional. This command as documented has a number of security implications. In the original and simple forms, all passwords are passed in plaintext and could be discovered by various forms of network or system surveillance. The AUTHINFO GENERIC command has the potential for the same problems if a mechanism is used that also passes cleartext passwords. RFC 1731 [8] discusses these issues in greater detail.

AUTHINFO的使用是可选的。此命令有很多安全隐患。在原始和简单的形式中,所有密码都以明文形式传递,并且可以通过各种形式的网络或系统监视来发现。如果使用了同时传递明文密码的机制,AUTHINFO GENERIC命令可能会出现同样的问题。RFC 1731[8]更详细地讨论了这些问题。

7.0 References
7.0 工具书类

[1] Kantor, B and P. Lapsley, "Network News Transfer Protocol", RFC 977, February 1986.

[1] Kantor,B和P.Lapsley,“网络新闻传输协议”,RFC 977,1986年2月。

[2] Limoncelli, Tom, "Read This Before You Write a Newsreader", http://mars.superlink.net/tal/news-software-authors.html, June, 1996.

[2] Limoncelli,Tom,“在你写新闻阅读器之前先读一下”,http://mars.superlink.net/tal/news-software-authors.html,1996年6月。

[3] Horton, M. and R. Adams, "Standard for interchange of USENET messages", RFC 1036, December 1987.

[3] Horton,M.和R.Adams,“USENET消息交换标准”,RFC 1036,1987年12月。

[4] Salz, Rich, Manual Page for wildmat(3) from the INN 1.4 distribution, UUNET Technologies, Revision 1.10, April, 1992.

[4] Salz,Rich,来自INN 1.4发行版的wildmat(3)手册页,UUNET Technologies,修订版1.10,1992年4月。

[5] Robertson, Rob, "FAQ: Overview database / NOV General Information", ftp://ftp.uu.net/networking/news/nntp/inn/faq-nov.Z, January, 1995.

[5] Robertson,Rob,“常见问题解答:概述数据库/NOV一般信息”,ftp://ftp.uu.net/networking/news/nntp/inn/faq-nov.Z,一九九五年一月。

   [6]  Lea, Iain, "FAQ about the TIN newsreader",
        http://www.cs.unca.edu/~davidson/handouts/tinfaq.html
        
   [6]  Lea, Iain, "FAQ about the TIN newsreader",
        http://www.cs.unca.edu/~davidson/handouts/tinfaq.html
        

[7] Kappesser, Peter, "[news.software.readers] trn newsreader FAQ", 2 parts, ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/news/ software/readers/%5Bnews.software.readers%5D_trn_newsreader _FAQ%2C_part_1%3A_Basics and ftp://rtfm.mit.edu/pub/usenet-by -hierarchy/news/software/readers/%5Bnews.software.readers %5D_trn_news-reader_FAQ%2C_part_2%3A_Advanced, February, 1995.

[7] Kappesser,Peter,“[news.software.readers]trn新闻阅读器常见问题解答”,2部分,ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/news/ 软件/阅读器/%5News.software.readers%5D\u trn\u新闻阅读器\u常见问题解答%2C\u部分\u 1%3A\u基础知识和ftp://rtfm.mit.edu/pub/usenet-by -层次结构/news/software/readers/%5Bnews.software.readers%5D\u trn\u news-reader\u常见问题解答%2C\u part\u 2%3A\u高级,1995年2月。

[8] Meyers, J., "IMAP4 Authentication Mechanisms", RFC 1731, December 1994.

[8] Meyers,J.,“IMAP4认证机制”,RFC 17311994年12月。

[9] Mills, D., "Network Time Protocol (Version 3), Specification, Implementation and Analysis", RFC 1305, March 1992.

[9] Mills,D.,“网络时间协议(版本3),规范,实施和分析”,RFC13051992年3月。

8.0 Notes
8.0 笔记

DEC is a registered trademark of Compaq Computer Corporation. UNIX is a registered trademark of The Open Group. VMS is a registered trademark of Compaq Computer Corporation.

DEC是康柏电脑公司的注册商标。UNIX是Open Group的注册商标。VMS是康柏计算机公司的注册商标。

9.0 Acknowledgments
9.0 致谢

The author gratefully acknowledges the comments and additional information provided by the following individuals:

作者感谢以下个人提供的评论和补充信息:

   Wayne Davison <davison@armory.com>
   Chris Lewis <clewis@bnr.ca>
   Tom Limoncelli <tal@lucent.com>
   Eric Schnoebelen <eric@egsner.cirr.com>
   Rich Salz <rsalz@osf.org>
        
   Wayne Davison <davison@armory.com>
   Chris Lewis <clewis@bnr.ca>
   Tom Limoncelli <tal@lucent.com>
   Eric Schnoebelen <eric@egsner.cirr.com>
   Rich Salz <rsalz@osf.org>
        

This work was precipitated by the work of various newsreader authors and newsserver authors which includes those listed below:

这项工作是由各种新闻阅读器作者和新闻服务器作者的工作促成的,其中包括下列作者:

Rick Adams -- Original author of the NNTP extensions to the RN newsreader and last maintainer of Bnews Stan Barber -- Original author of the NNTP extensions to the newsreaders that are part of Bnews. Geoff Collyer -- Original author of the OVERVIEW database proposal and one of the original authors of CNEWS Dan Curry -- Original author of the xvnews newsreader Wayne Davison -- Author of the first threading extensions to the RN newsreader (commonly called TRN). Geoff Huston -- Original author of ANU NEWS

Rick Adams——RN新闻阅读器NNTP扩展的原始作者和Bnews Stan Barber的最后维护者——Bnews新闻阅读器NNTP扩展的原始作者,Bnews的一部分。Geoff Collyer——概述数据库提案的原始作者和CNEWS Dan Curry的原始作者之一——xvnews新闻阅读器Wayne Davison的原始作者——RN新闻阅读器的第一个线程扩展(通常称为TRN)的作者。杰夫·休斯顿——《澳大利亚国立大学新闻》的原作者

Phil Lapsey -- Original author of the UNIX reference implementation Iain Lea -- Original maintainer of the TIN newsreader Chris Lewis -- First known implementor of the AUTHINFO GENERIC extension Rich Salz -- Original author of INN Henry Spencer -- One of the original authors of CNEWS Kim Storm -- Original author of the NN newsreader

Phil Falsey--UNIX参考实现Iain Lea的原始作者--TIN新闻阅读器的原始维护者Chris Lewis--AUTHINFO通用扩展的第一个已知实现者Rich Salz--INN Henry Spencer的原始作者--CNEWS Kim Storm的原始作者之一--NN新闻阅读器的原始作者

10.0 Author's Address
10.0 作者地址

Stan Barber P.O. Box 300481 Houston, Texas, 77230

德克萨斯州休斯顿市斯坦巴伯邮政信箱300481号,邮编77230

   EMail: sob@academ.com
        
   EMail: sob@academ.com
        
11.0 Full Copyright Statement
11.0 完整版权声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。