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. kali安装charles

    00X01 kali安装charles wget -q -O - http://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key a ...

  2. 深度解析Maven版本仲裁机制:核心规则与原理

    结论先行 Maven的版本仲裁机制本质是通过 依赖路径 和 声明顺序 的优先级规则,自动解决多版本依赖冲突.其核心规则为: 最短路径优先:依赖树中路径最短的版本生效. 相同路径则先声明优先:路径长度相 ...

  3. Spring编程式事务控制

    目录 Spring编程式事务控制 代码实现 测试 Spring编程式事务控制 实际中很少使用 代码实现 pom.xml <?xml version="1.0" encodin ...

  4. 代码随想录第二十天 | Leecode 235. 二叉搜索树的最近公共祖先 、 701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点

    Leecode 235. 二叉搜索树的最近公共祖先 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p. ...

  5. 重磅消息,微软宣布 VS Code Copilot 开源,剑指 Cursor!

    前言 微软宣布重磅消息将把 GitHub Copilot Chat 扩展的代码以 MIT 许可证协议开源,然后将扩展中的 AI 功能重构到 VS Code 核心中,这一举措是为了将 VS Code 成 ...

  6. 第三届LitCTFmisc详解

    Misc Cropping 随波逐流伪加密,得到一堆图片,把图片拼接起来 脚本 import os from PIL import Image def stitch_tiles_horizontall ...

  7. RBMQ案例五:主题模式

    在之前的教程中,我们改进了日志系统.我们没有使用只能进行虚拟广播的扇出交换器,而是使用了直接交换器,并获得了选择性接收日志的可能性. 虽然使用直接交换改进了我们的系统,但它仍然有局限性--它不能基于多 ...

  8. 如何排查内存飙高-Linux top命令快速入门

      Linux系统出现了性能问题,一般我们可以通过 top.iostat.free.vmstat和ifstat等命令来初步定位问题.其中,top命令是Linux下常用的性能分析工具,用于实时监测系统资 ...

  9. 通过 MCP 服务对接 PostgreSQL 问数 (详细实操说明)

    一.实操环境 1.1Panel:Linux服务器运维管理面板 2.MaxKB:强大易用的企业AI助手 3.MCP网站:https://mcp.so/ 二.操作说明 2.1.步骤一:1Panel 2.0 ...

  10. 分布式事务TCC

    大家好,今天想和大家一起聊聊分布式事务. 今天主要说主要内容如下: * 分布式事务TCC 我们知道布式式事物TCC代表Try.Confirm.Cancel,就是尝试.确认.取消.这个是互联网上比较常见 ...