R.F.C. : Request For Comments

https://www.rfc-editor.org/rfc/rfc2119

,Key words for use in RFCs to Indicate Requirement Levels

Status of this Memo

This document specifies an Internet Best Current Practices for the

Internet Community, and requests discussion and suggestions for

improvements. Distribution of this memo is unlimited.

Abstract

In many standards track documents several words are used to signify

the requirements in the specification. These words are often

capitalized. This document defines these words as they should be

interpreted in IETF documents. Authors who follow these guidelines

should incorporate this phrase near the beginning of their document:

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
RFC 2119.

Notes

Note that the force of these words is modified by the requirement

level of the document in which they are used.

  1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the

    definition is an absolute requirement of the specification.

  2. MUST NOT This phrase, or the phrase "SHALL NOT", mean that the

    definition is an absolute prohibition of the specification.

  3. SHOULD This word, or the adjective "RECOMMENDED", mean that there

    may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed, before choosing a different course.

  4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that

    there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed, before implementing any behavior described with this label.

Bradner Best Current Practice [Page 1]

RFC 2119 RFC Key Words March 1997

  1. MAY This word, or the adjective "OPTIONAL", mean that an item is

    truly optional. One vendor may choose to include the item because a

    particular marketplace requires it or because the vendor feels that

    it enhances the product while another vendor may omit the same item.

    An implementation which does not include a particular option MUST be

    prepared to interoperate with another implementation which does

    include the option, though perhaps with reduced functionality. In the

    same vein an implementation which does include a particular option

    MUST be prepared to interoperate with another implementation which

    does not include the option (except, of course, for the feature the

    option provides.)

  2. Guidance in the use of these Imperatives

    Imperatives of the type defined in this memo must be used with care

    and sparingly. In particular, they MUST only be used where it is

    actually required for interoperation or to limit behavior which has

    potential for causing harm (e.g., limiting retransmisssions) For

    example, they must not be used to try to impose a particular method

    on implementors where the method is not required for

    interoperability.

  3. Security Considerations

    These terms are frequently used to specify behavior with security

    implications. The effects on security of not implementing a MUST or

    SHOULD, or doing something the specification says MUST NOT or SHOULD

    NOT be done may be very subtle. Document authors should take the time

    to elaborate the security implications of not following

    recommendations or requirements as most implementors will not have

    had the benefit of the experience and discussion that produced the

    specification.

  4. Acknowledgments

    The definitions of these terms are an amalgam of definitions taken

    from a number of RFCs. In addition, suggestions have been

    incorporated from a number of people including Robert Ullmann, Thomas

    Narten, Neal McBurnett, and Robert Elz.

Bradner Best Current Practice [Page 2]

RFC 2119 RFC Key Words March 1997

  1. Author's Address

    Scott Bradner

    Harvard University

    1350 Mass. Ave.

    Cambridge, MA 02138

    phone - +1 617 495 3864

    email - sob@harvard.edu

SciTech-Docs.-RFC2119-Key words for use in RFCs to Indicate Requirement Levels@NetworkWorkingGroup:S.Bradner@HarvardUniversity的更多相关文章

  1. RFC2119 规范内容

    RFC2119 https://www.ietf.org/rfc/rfc2119.txt Network Working Group S. Bradner Request for Comments: ...

  2. http协议之cookie标准RFC6265介绍

      [Docs] [txt|pdf] [draft-ietf-httpst...] [Diff1] [Diff2] [Errata] PROPOSED STANDARD Errata Exist In ...

  3. The WebSocket Protocol

      [Docs] [txt|pdf] [draft-ietf-hybi-t...] [Diff1] [Diff2] [Errata] Updated by: 7936 PROPOSED STANDAR ...

  4. RTP Payload Format for Opus Speech and Audio Codec

    [Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits] Versions: (draft-spittka-payload-rtp- ...

  5. The OAuth 2.0 Authorization Framework-摘自https://tools.ietf.org/html/rfc6749

                                                                                  Internet Engineering T ...

  6. Web NFC API

    W3C Editor's Draft 29 December 2014 This version: http://www.w3.org/2012/nfc/web-api/ Latest publish ...

  7. RTMP协议中文翻译(首发)

    翻译:阿宝 更新:2016-09-11 来源:彩色世界(https://blog.hz601.org/2016/07/03/real-time-messaging-protocol/index.htm ...

  8. E-JSON数据传输标准

    简介 E-JSON的设计目标是使业务系统向浏览器端传递的JSON数据保持一致,容易被理解和处理,并兼顾传输的数据量.E-JSON依托于http协议(rfc2616)与JSON数据交换格式(rfc462 ...

  9. rtmp详解

    文件下载地址: 中文:https://files.cnblogs.com/files/bugutian/rtmp_specification_1.0_cn.zip 英文:http://www.adob ...

  10. RFC 4627 JSON

    Network Working Group D. Crockford Request for Comments: 4627 JSON.org Category: Informational July ...

随机推荐

  1. rider 跑不动了,快找车吧=vscode

    我的笔记本跑rdier有点吃紧了,T440s; rider的慢速是我有点难以接受了,在开发效率和性能方面综合考虑,我考虑换上vscode了. 做.net core web开发完全够用了,也不用各种等待 ...

  2. XGBooost算法原理及Python实现

    一.概述   XGBoost 是一种基于梯度提升框架的机器学习算法,它通过迭代地训练一系列决策树来构建模型.核心思想是通过不断地在已有模型的基础上,拟合负梯度方向的残差(真实值与预测值的差)来构建新的 ...

  3. 【BUG】Message = “无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。“, StackTrace = “ 在 System.Reflection.

    环境: Visual Studio 2019 C#项目遇到这种情况时,是因为有多个依赖出了问题(也可能是只有一个但被误报成多个),此时点开"查看详细信息",可以快速监视Except ...

  4. FunProxy - 使用 Rust 构建跨平台全链路测试抓包代理工具

    作者:vivo 互联网大前端团队- Song Jiachao 在软件开发过程中,软件测试对于保障软件质量和用户满意度起着关键作用.为最大程度上提升软件品质,我们积极开展全链路测试实践,打造了用Rust ...

  5. 遇到的问题之“list的addAll()报空指针异常”

    一.错误图 java.lang.NullPointerException at java.util.ArrayList.addAll(ArrayList.java:581) at com.bessky ...

  6. SQL 强化练习 (二)

    继续 sql 搞起来, 面向过程来弄, 重点是分析的思路, 涉及的的 left join, inner join, group by +_ having, case when ... 等场景, 也是比 ...

  7. 一行Code - 搭建HTTP服务器, 文件 多设备共享

    我的痛点是这样的. 我想实现 文件 (代码文件, PPT PDF, WORD, 视频...) 等各种文件, 在 windows 电脑, android 手机, iPad, 及 mac 电脑或者, 或更 ...

  8. Opencv与Pillow图片操作差异对深度学习的影响

    目前在使用Pytorch训练的深度学习模型算法,大部分由于pillow与torchvision中transforms的优异兼容都会采用Image.open from pillow的方式进行图像数据的读 ...

  9. 用AI做了个动态下发微信群二维码应用

    微信群的二维码每周都要更新一次,比较麻烦.于是搞了个简单的上传/下发的 Web 应用. 下面是优化前后流程,虽然看似步骤少了一步,但大大节省了时间. 主要功能 常见类型图片上传,支持删除,提供外链访问 ...

  10. React Native开发鸿蒙Next---图片浏览与保存的问题交流

    React Native开发鸿蒙Next---图片浏览与保存的问题交流 之前介绍过利用鸿蒙三方RN组件@react-native-camera-roll/camera-roll保存图片到相册. Rea ...