谈天说地

奇葩RFC,对要求等级的约定

本原创文章属于《Linux大棚》博客。

博客地址为http://roclinux.cn。

文章作者为roc wu

==

【引言】

在阅读这篇奇葩RFC之前,我们还是有必要解释一下什么是RFC。

RFC,即Request For Comments,意即“请求评议”,包含了关于Internet的几乎所有重要的文字资料。几乎所有重要的计算机网络通信协议都发布于此。RFC目前由ISOC(国际互联网协会)赞助和管理。

【奇葩RFC】

今天要介绍的这篇RFC,说它奇葩,是因为它没有制定任何网络协议和标准,而是解释了几个我们常见的情态动词在RFC中的用法。

说到情态动词,再多说两句,它本身有一定的词义,但是不能独立作谓语,只能和行为动词一起构成谓语。

情态动词用在行为动词前,表示说话人对这一动作或状态的看法或主观设想。

常见的情态动词包括这些: can (could), may (might), must, need, ought to, dare (dared), shall (should), will (would), must not。

【奇葩RFC基本信息】

这篇RFC于1997年3月在哈佛大学完成制定,编号为2119,即RFC2119。

英文题目是《Key words for use in RFCs to Indicate Requirement Levels》。

这篇RFC的原文:http://www.ietf.org/rfc/rfc2119.txt

【奇葩RFC正文】

在许多文档中,经常有一些词语是用来表示“要求等级”的。这些词语经常是全部大写。本文就是对这些词语在IETF文档中的用法进行定义和规范。

(IETF,即Internet Engineering Task Force,国际互联网工程任务组,主要负责互联网相关标准制定和发布。)

如果您的RFC需要遵循本文约定,请在您的文章开头部分加入下面的说明:

本文中出现的关键词"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", "OPTIONAL"应该按照RFC2119
的含义进行理解。

1. MUST

类似的词语还有REQUIRED、SHALL,都表示“必须如此”。

2. MUST NOT

类似的词语还有SHALL NOT,表示“绝对禁止”。

3. SHOULD

有推荐(RECOMMENDED)的意思,这意味着在一些极特殊情况下可以不遵从。如果选择不遵从,请一定谨慎的选择和权衡。

4. SHOULD NOT

有不推荐(NOT RECOMMENDED)的意思。这意味着在一些极特殊情况下可以遵从,甚至会很有效。如果选择遵从,请一定谨慎权衡。

5. MAY

表示可选(OPTIONAL)的意思,也就是说此条协议并非强制的,而是可选的。一些人认为他们在某些特定场景需要这条协议,或者这条协议可以补强他们的产品,从而会选择遵从这条协议;而另一些人则会出于一些原因而选择忽略这条协议。

当一个具体实现并没有遵从这条协议时,那么它必须(MUST)能够与遵从此条协议的实现进行互操作。当然这种互操作,可能会伴随着产品功能体验的损失。

同样的,当一个具体实现遵从了此条协议时,它也必须(MUST)能够与未遵从此条协议的实现进行互操作。

6. 使用指南

本文中所列的这几个祈使词语在使用上要格外的小心和适度。当我们要描述涉及互操作的协议时,以及需要对一些可能引起危害的动作进行限制时,我们才需要使用他们。

举例来说,如果一个特定的方法在实现上并非要求具备互操作性,那么我们就绝对不能(MUST NOT)在这个方法上使用这些祈使词语。

谢谢!

2条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *