RFC8174:Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words,May 2017
梗概
RFC 2119 指定了可能在协议规范中使用的通用关键字。本文档旨在通过澄清只有大写的关键词才具有定义的特殊含义来减少歧义。
本备忘录的状态
本备忘录记录了 Internet 最佳当前实践。
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已被互联网工程指导小组 (IESG) 批准出版。有关 BCP 的更多信息,请参见 RFC 7841 的第 2 节。
有关本文档的当前状态、任何勘误以及如何提供反馈的信息,请访问 http://www.rfc-editor.org/info/rfc8174。
版权声明
版权所有 (c) 2017 IETF Trust 和确定为文档作者的人员。版权所有。
本文档受 BCP 78 和 IETF Trust 的与 IETF 文档相关的法律规定 (http://trustee.ietf.org/license-info) 的约束,在本文档发布之日生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文档中提取的代码组件必须包含 Trust Legal Provisions 第 4.e 节中所述的简化 BSD 许可文本,并且不提供如简化 BSD 许可中所述的保证。
1、 介绍
RFC 2119 指定了可能在协议规范中使用的常见关键字,例如“必须”、“应该”和“可以”。它说关键词“经常大写”,这引起了人们对如何解释“必须”和“应该”等非大写词的困惑。
本文档更新了 RFC 2119,阐明只有大写的关键字才具有定义的特殊含义。本文档是 BCP 14 的一部分。
2、 明确关键词的大小写
对 [RFC2119] 进行了以下更改:
=== 旧版 ===
在许多标准跟踪文件中,使用几个词来表示规范中的要求。这些词通常大写。本文档定义了这些词,因为它们应该在 IETF 文档中被解释。遵循这些准则的作者应在其文档的开头附近加入此短语:
本文档中的关键词“必须”、“不得”、“需要”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“可以”和“可选”是 按照 RFC 2119 中的描述进行解释。
=== 新版 ===
在许多 IETF 文档中,有几个单词,当它们全部大写时,如下所示,用于表示规范中的要求。这些大写单词可以为文档带来显着的清晰度和一致性,因为它们的含义定义明确。本文档定义了当这些词全部大写时,这些词在 IETF 文档中的解释方式。
** 这些词可以按照此处的定义使用,但不是必需的。具体来说,规范性文本不需要使用这些关键词。当需要时,它们用于清晰和一致性,但许多规范性文本不使用它们并且仍然是规范性的。
** 词语仅在全部大写时才具有此处规定的含义。
** 当这些单词没有大写时,它们具有正常的英语含义,不受本文档的影响。
遵循这些准则的作者应在其文档的开头附近加入此短语:
关键词“必须”、“不得”、“要求”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“不推荐”、“可以”和“可选” “当且仅当它们以所有大写字母出现时,本文档中的内容将按照 BCP 14 [RFC2119] [RFC8174] 中的描述进行解释,如此处所示。
=== 结束 ===
3、 IANA 考虑
本文档不需要任何 IANA 行动。
4、 安全考虑
本文件纯粹是程序性的;没有相关的安全考虑。
5、 规范性引用
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.