RFC 2119 Requirement Level Keywords: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
(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 的繁體中文翻譯版本