RFC 2119 Requirement Level Keywords: Difference between revisions
(Created page with "== RFC 2119: Requirement Level Keywords == <pre> 網路工作小組 S. Bradner 意見徵求文件:2119 哈佛大學 最佳現行實務:14 1997年3月 類別:最佳現行實務 </pre> RFC 中用於表示需求層級的關鍵字 本備忘錄的地位 本文件為網際網路社群指定了網際網路最佳現行實務,並徵求討論...") |
(No difference)
|
Revision as of 13:05, 18 October 2025
RFC 2119: Requirement Level Keywords
網路工作小組 S. Bradner 意見徵求文件:2119 哈佛大學 最佳現行實務:14 1997年3月 類別:最佳現行實務
RFC 中用於表示需求層級的關鍵字
本備忘錄的地位
本文件為網際網路社群指定了網際網路最佳現行實務,並徵求討論和改進建議。本備忘錄的發布不受限制。
摘要
在許多標準追蹤文件中,會使用若干詞彙來表明規範中的需求。這些詞彙通常以大寫表示。本文件定義了這些詞彙在 IETF 文件中應如何被解讀。遵循這些準則的作者應在其文件開頭附近加入以下語句: 本文件中的關鍵字「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」和「OPTIONAL」應按照 RFC 2119 中的描述進行解讀。
請注意,這些詞彙的強制力會因其所在文件的需求層級而有所調整。
1. MUST
此詞,或術語「REQUIRED」或「SHALL」,意指該定義是規範的絕對需求。
2. MUST NOT
此短語,或短語「SHALL NOT」,意指該定義是規範的絕對禁止事項。
3. SHOULD
此詞,或形容詞「RECOMMENDED」,意指在特定情況下可能存在忽略特定項目的正當理由,但在選擇不同做法之前,必須充分理解並仔細權衡其全部影響。
4. SHOULD NOT
此短語,或短語「NOT RECOMMENDED」,意指在特定情況下,可能存在特定行為可接受甚至有用的正當理由,但在實作任何帶有此標籤描述的行為之前,應充分理解其影響並仔細權衡該情況。
5. MAY
此詞,或形容詞「OPTIONAL」,意指某項目確實是可選的。某個供應商可能因為特定市場需求而選擇包含該項目,或因為供應商認為它能增強產品而包含;而另一個供應商則可能省略相同項目。不包含特定選項的實作 MUST 準備好與包含該選項的另一實作進行互通,儘管功能可能會有所減少。同樣地,包含特定選項的實作 MUST 準備好與不包含該選項的另一實作進行互通(當然,除了該選項所提供的功能之外)。
6. 使用這些命令式詞彙的指引
本備忘錄中定義的命令式詞彙類型必須謹慎且節制地使用。特別是,它們 MUST 僅用於實際需要互通性或限制可能造成危害的行為(例如,限制重傳)的情況。例如,當某方法對互通性並非必需時,不得使用這些詞彙來試圖對實作者強加特定方法。
7. 安全性考量
這些術語經常用於指定具有安全性影響的行為。未實作 MUST 或 SHOULD,或執行規範中說明 MUST NOT 或 SHOULD NOT 的事項,對安全性的影響可能非常微妙。文件作者應花時間詳細說明不遵循建議或需求的安全性影響,因為大多數實作者不會擁有產生該規範的經驗和討論所帶來的好處。
8. 致謝
這些術語的定義是從許多 RFC 中提取的定義的綜合體。此外,還納入了許多人的建議,包括 Robert Ullmann、Thomas Narten、Neal McBurnett 和 Robert Elz。
著作權聲明
📄 本文件是 RFC 2119 的繁體中文翻譯版本
- 查看英文原文 Key words for use in RFCs to Indicate Requirement Levels
- 翻譯:Cloud AI
- Copyright © 1997 IETF Trust