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


相关文章
|
机器学习/深度学习 自然语言处理 自动驾驶
深度学习的应用实例:重塑各个领域的未来
深度学习的应用实例:重塑各个领域的未来
591 0
|
存储 网络虚拟化 索引
【OSTEP】分页(Paging) | 页表中究竟有什么 | 页表存在哪 | 内存追踪
【OSTEP】分页(Paging) | 页表中究竟有什么 | 页表存在哪 | 内存追踪
529 0
|
7月前
|
JSON 数据格式 Python
X86架构属于国产化架构吗
在信息时代,处理器架构至关重要。本文通过简单流程和代码示例,帮助初学者理解X86架构是否属于国产化架构。首先明确国产化架构指本土研发的处理器架构,如龙芯、飞腾等。X86架构由Intel设计,主要由外资公司开发,通常不被视为国产架构。文章提供了一个判断X86架构是否国产化的流程图,并用Python代码实现判断过程。Architecture类描述架构来源和类型,App类负责获取和判定架构信息。通过这些步骤,初学者可以更好地掌握相关知识并提升开发技能。
560 5
|
11月前
|
数据采集 存储 监控
数据治理:解锁数据资产潜力,驱动企业决策与业务增长的密钥
在当今这个数据驱动的时代,企业所拥有的数据资产已成为其核心竞争力的重要组成部分。然而,仅仅拥有海量数据并不足以确保成功,关键在于如何有效地管理和利用这些数据,以支持精准决策、优化运营流程并推动业务持续增长。这就是数据治理的重要性所在——它是一套系统性的方法和流程,旨在确保数据质量、安全性、可用性和合规性,从而让数据资产能够最大化地支持企业决策和业务增长。
|
10月前
|
人工智能 数据库 决策智能
拥抱Data+AI|如何破解电商7大挑战?DMS+AnalyticDB助力企业智能决策
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第1篇,聚焦电商行业痛点,探讨如何利用数据与AI技术及分析方法论,为电商注入新活力与效能。文中详细介绍了阿里云Data+AI解决方案,涵盖Zero-ETL、实时在线分析、混合负载资源隔离、长周期数据归档等关键技术,帮助企业应对数据在线重刷、实时分析、成本优化等挑战,实现智能化转型。
拥抱Data+AI|如何破解电商7大挑战?DMS+AnalyticDB助力企业智能决策
|
10月前
|
安全 前端开发 JavaScript
如何检查和验证 HTML 中的 CSP 策略是否有效
本文介绍如何检查和验证 HTML 中的 Content Security Policy (CSP) 策略是否有效,包括使用浏览器开发者工具、在线验证工具和常见问题排查方法。
|
10月前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
872 0
|
11月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
1502 0
|
编译器 Kotlin
Kotlin中类型转换
Kotlin中类型转换
323 6
|
Linux 开发工具 git
还不会 Git 子模块操作?一文教你学会 git submodule 的增、删、改、查!
还不会 Git 子模块操作?一文教你学会 git submodule 的增、删、改、查!
364 0