RFC2119簡介

簡介

  • RFC (Request For Comments,請求意見稿)
    • 記錄網際網路規範、協定、過程等的標準檔案
  • RFC2119用五個需求等級(共12個關鍵詞)來定義需求的嚴格程度
    • 已被 RFC8174 (2017) 更新

名詞解釋

依 RFC8174,只有全大寫的形式才具規範意義;小寫的 must、should 等只是一般英文用字(中文可以用斜體或粗體強調)

  1. MUST, REQUIRED, SHALL(強制, 必須, 務必, 只能)
    • 絕對必要的需求
  2. MUST NOT, SHALL NOT(禁止, 不能, 不要)
    • 絕對禁止的需求
    • MUST的反意詞
  3. SHOULD, RECOMMENDED(, 應該, 建議, 推薦)
    • 可能有特定原因或環境,需要忽略某些需求
    • 在了解後果的前提下,可以選擇這樣做
    • 在用不建議的選擇之前,需仔細考慮
  4. SHOULD NOT, NOT RECOMMENDED(不應, 不應該, 不建議, 不推薦)
    • SHOULD的反義詞
  5. MAY, OPTIONAL(可以, 可選)
    • 完全可選的需求
      • 不強制實作
    • 沒有實作此需求的產品必須(MUST)能夠和有實作此需求的產品互動(Interoperate),反之亦然

使用方式

  • 這些祈使詞必須被小心地、保守地使用
  • 這些祈使詞的使用必須是出於互動的實際需要、或是為了限制可能的潛在危害

安全考量

  • 這些詞語常用於安全性暗示(Security Implication)
    • 安全的影響可能不明顯
      • 文件作者需要闡述(elaborate)不遵守這些要求會帶來的問題

參考資料

  • RFC2119原文
  • 中文技術文檔寫作風格指南
  • 翻譯 RFC 2119: 在 RFC 文檔中, 用於指出規范的要求級別的關鍵詞