RFC2119 中文版-RFC文档用于指出要求级别的关键字

来源:互联网 发布:mac appstore无法更新 编辑:程序博客网 时间:2024/04/27 23:59
对china-pub的翻译质量深表遗憾;时间紧张的同志请看阮一峰作的简单介绍:(时间不紧张的可以看完本文)

RFC(Request For Comments)指的是互联网上使用的标准的讨论草案,在网站www.rfc.net上可以查到这些草案。标准RFC2119对表示“要求”(Requirement)的动词的涵义,做出了规定。

MUST, or "REQUIRED", or "SHALL"

表示绝对要求这样做。

MUST NOT, or "SHALL NOT"

表示绝对不要求这样做。

SHOULD, or "RECOMMENDED"

表示一般情况下应该这样做,但是在某些特定情况下可以忽视这个要求。

SHOULD NOT, or "NOT RECOMMENDED"

表示一般情况下不应该这样做,但是在某些特定情况下可以忽视这个要求。

MAY, or "OPTIONAL"

表示这个要求完全是可选的(optional),你可以这样做,也可以不这样做。

[参考链接]

1. RFC2119 英文版

----------------------------------------------------------------------------------- 
E-mail:bryanj@163.com
译者:bryan.wong
译文发布时间:2008-05-14
版权:本中文翻译文档版权归bryan.wong所有。可以用于非商业用途自由转载,但必须
保留本文档的翻译及版权信息。



Network Working Group                                         S. Bradner
Request for Comments: 2119                            Harvard University
BCP: 14                                                       March 1997
Category: Best Current Practice

RFC文档用于指出要求级别的关键字
(RFC2119——Key words for use in RFCs to Indicate Requirement Levels)
本目录的状态
    本文详细说明了网络社区上,关于要求的讨论和关于改进的建议的Internet 最佳当前实践。
本备忘录的分发不受限制。
摘要
    在许多标准跟踪文件中,一些词用来表示在规范中的条件要求。这些词通常以大写字母
的形式出现。本文给出了这些词在IEIF文件中应该被说明时的定义。遵循这些指导方针的
作者应该在文件的开头加入以下短句:
    关键字"MUST","MUST NOT","REQUIRED","SHALL","SHALL NOT","SHOULD","SHOULD NOT","RECOMMENDED","MAY","OPTIONAL"的解释见RFC 2119中的定义。
说明。
    注意这些词的强制性可以根据使用中的需要被修正。

目录
1.MUST   
2.MUST NOT   
3.SHOULD   
4.SHOULD NOT   
5.MAY   
6.这些命令使用向导   
7.安全方面的考虑   
8.致谢   
作者地址   

1.MUST 必须

    该关键字,或是术语"REQUIRED""SHALL",意味着它们定义的是一个规范的绝对必要条件。
2.MUST NOT
必须不
   
该词组,或是词组"SHALL NOT",意味着它们定义的是一个规范的绝对禁止条件。
3.SHOULD
应该
   
该关键字,或是形容词" RECOMMENDED ",意味着在特殊的情况下可能存在正当的理由来忽略某特殊条款,但是必须能理解其完整的含义,且在选择不同的做法前慎重考虑。
4.SHOULD NOT
不应该
   
该词组,或是词组"NOT RECOMMENDED",意味着在特殊的环境下可能存在正当的理由使得特殊的行为可接受或是甚至有实用价值,但是在实现任何以此标签描述的行为前,应该理解其完整的含义,并慎重权衡情况。
5.MAY
可能
   
该关键字,或是形容词"OPTIONAL",意味着一个项目是真正可选的。若开发商选择支持此项目,可能是因为特殊的市场需求,也可能是因为觉得这样可以增强产品--另一个开发商可能会漏掉同一个项目。不支持某特定选项的实现【必须】做好与与另一个支持了该选项的实现--虽然或许功能作了简化--互操作的准备。同理,支持某特定选项的实现【必须】做好与与另一个不支持该选项的实现互操作(当然,该选项提供的特性除外)的准备
6.
这些命令的使用指导
   
在本备忘
[V1] 中定义的命令必须小心、保守地使用。特别的,使用它们【必须】是出于互操作性的实际需要,或是为了限制可能导致潜在危害的行为(例如限制重传)。举例来说,它们必须不被用来试图引入实现者的某种互操作性所不需要的特定方法。
7.
安全方面的考虑
   
这些习语常被用来描述有安全含义的行为。没有实现一个MUSTSHOULD,或做了规范说【必须不】或【应该不】做的事,产生的影响将是非常的敏感且微妙的。文章的作者应该花些时间来详细阐述不遵循建议或要求将带来的安全问题,因为大多数实现者并不是规范产生的经历和讨论的受益者。


 [V1]RFC 2119

8.致谢
    这些术语的定义是一个来自许多RFCs的综合定义。另外,得到了许多人如Robert
Ullmann, ThomasNarten, Neal McBurnett, and Robert Elz的建议。


作者地址
      Scott Bradner
      Harvard University
      1350 Mass. Ave.
      Cambridge, MA 02138

      phone -  1 617 495 3864

      email - sob@harvard.edu
-----------------------------------------------------------------------------------