互联网标准中出现的表示需求等级的关键词

概述

在互联网标准文档里,经常会出现一些表示需求等级的关键词。它们经常被用来表示功能(特性)的重要等级,标准实现人员可以根据这些词的含义决定是否要在自己的实现中加入这些特性。
根据 RFC8174 的更新,这些词只有在全部大写的情况下才具有表示需求等级的作用,其它情况下,只具有普通的英语语义。

具体的关键词

  • MUST, REQUIRED, SHALL 必须,一定的意思,十分肯定,要求具体的实现一定要包含用这些关键词修饰的特性。
  • MUST NOT, SHALL NOT, 完全否定,与 MUST 等对立,表示用这些关键词修饰的特性禁止出现,一定不能有。
  • SHOULD,RECOMMENDED 在某些情况下,实现人员可能有充分的理由不实现这一特性,但是在做决定之前,要充分考虑所有的后果。言外之意是,这些特性是可选的,但是标准推荐实现这个特性,如果选择不实现,一切后果自负。
  • SHOULD NOT,NOT RECOMMENDED ,与 SHOULD 对立,在某些情况下,实现人员可能有充分的理由证明这些功能的实现是有益处的,但是在实现之前,要充分考虑后果。言外之意,这些特性是可选的,标准不推荐实现这个功能,如果非要这么做,一切后果自负。
  • MAY,OPTIONAL 可选的,与 SHOULD、SHOULD NOT 相比,有更强的中立性,标准并没有明显的偏好,完全凭实现人员的需求而定,想用就做,不想用就不做。实现人员需要考虑互操作性:包含这个特性的实现要能够和不包含这个特性的实现协同工作。

参考文档

  1. RFC2119
  2. RFC8174

猜你喜欢

转载自www.cnblogs.com/lgypro/p/11975456.html