RFC 2119 关键词中大写与小写的歧义

简介: 本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已被互联网工程指导小组 (IESG) 批准出版。有关 BCP 的更多信息,请参见 RFC 7841 的第 2 节。

640.gif


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>.


相关文章
|
6月前
|
JavaScript
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
正则表达式 - 中文、英文姓名匹配
正则表达式 - 中文、英文姓名匹配
3325 0
|
6月前
|
数据处理
正则表达式详解:解析星号的含义
【4月更文挑战第3天】
827 1
正则表达式详解:解析星号的含义
写一个方法实现数字转中文大写的方法
之前开发了一个报销相关的应用,其中遇到了小写数字转中文大写的需求,搜寻了一些资料以后对方法进行了改进,现在分享出来给大家参考
写一个方法实现数字转中文大写的方法
|
Python
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
1063 0
|
Windows
一个中文冒号引发的“血案”
一个中文冒号引发的“血案”
lodash转换字符串为空格分隔的大写单词
lodash转换字符串为空格分隔的大写单词
83 0
|
Java 程序员 Apache
技术:字符串首字母由大写改小写简单方法以及一些思考归纳
字符串首字母由大写改小写。 首先,这得是一个字符串,其次,他得有能力被改写为小写字母。当然这之前的一些判定需要自行处理。 String的中文含义是:一串;线;细绳;带子;一系列;一连串;一批;字符串;弦等。
技术:字符串首字母由大写改小写简单方法以及一些思考归纳
正则表达式去除空格、符号,只保留中文、英文、数字
正则表达式去除空格、符号,只保留中文、英文、数字
803 0
|
机器学习/深度学习 移动开发 Go
标点符号的特殊含义 | 学习笔记
快速学习 标点符号的特殊含义