見出し画像

要件レベルを示すために RFC で使用されるキーワード

ネットワーク ワーキング グループ S. ブラッドナー
コメントリクエスト: 2119 ハーバード大学
BCP: 1997 年 3 月 14 日
カテゴリ: 現在のベストプラクティス

原文はこちらhttps://www.rfc-editor.org/rfc/rfc2119.txt

「MAY」って本当はどういう意味なのでしょうか?規格に「SHOULD」と書かれている場合、本当にそうしなければならないのでしょうか?RFC 2119 は、要件に明確に定義された分類法を与えることで、曖昧さを回避するのに役立ちます。

RFC 2119は、RFC文書内で要件レベルを示すためのキーワードの使用に関するガイドラインです。これらのキーワードは、RFC文書における様々な命令や提案の強度や義務のレベルを明確にするために使用されます。主なキーワードとその意味は以下の通りです:

  1. MUST(またはREQUIREDSHALL): これは絶対的な要件を意味します。RFCでこの用語が使われている場合、それはその行動が強制的であることを意味し、違反することはプロトコル仕様に準拠していないことを意味します。

  2. MUST NOT: この用語は、何かが絶対に行われてはならないことを指します。

  3. SHOULD(またはRECOMMENDED): これは強い勧告を意味しますが、MUSTほど厳格ではありません。SHOULDを使用する場合、特定の条件下でのみ勧告を無視する正当な理由がある場合があります。

  4. SHOULD NOT(またはNOT RECOMMENDED): これは特定の行動を避けるべきことを示唆していますが、場合によってはその行動が許容されることがあります。

  5. MAY(またはOPTIONAL): これはある行動がオプションであり、選択的であることを意味します。MAYを使用することで、開発者に柔軟性が与えられます。

RFC 2119は、RFC文書におけるこれらの用語の使用を標準化し、プロトコルの設計者や実装者が文書の意図をより正確に理解し、適用するためのクリアなガイドラインを提供しました。これにより、技術仕様の解釈における曖昧さが減少し、より一貫した実装が可能になったのです。

この投稿は私が働いている現場のスタッフへ届けているメッセージです。もし共感をいただけたのであれば幸いです。