このページの本文へ

2007年03月09日更新

RFCの文中で「MUST」や「SHOULD」に出会ったら…

 さまざまな人が昼夜を問わず利用しているインターネットが、いつも適切に運用されているのは、根幹を支えるルールが明確になっているからだ。そのルールの1つが、インターネットに関する技術の標準を定める文書「RFC(Request For Comments)」(注1)である。ITに関わる仕事をしているならば、一度は目を通したことがあるだろう。

注1:RFC(Request For Comments) IETF(Internet Engineering Task Force)が正式に発行するインターネットに関する技術の標準を定める文書

 メールの送受信は、SMTPのルールに基づいて行なわれている。そのルールが拡張されているため、RFCに次のような記述が加えられていた。

Contemporary SMTP implementations MUST support the basic extension mechanisms. For instance, servers MUST support the EHLO command even if they do not implement any specific extensions and clients SHOULD preferentially utilize EHLO rather than HELO.(現在のSMTPの実装では、基本的な拡張メカニズムをサポートしていなければならない。たとえば、サーバーは特別な拡張機能を実装していなくても、「EHLO」コマンドをサポートしていなくてはならない。そして、クライアントは「HELO」よりもEHLOコマンドを優先して利用すべきである)

 このIT英文で注目したいのが、大文字の「MUST」と「SHOULD」が登場している点だ。RFCのTerminology(用語法)では、MUSTとSHOULDの使い方を次のように定義している。

MUST
This word, or the terms "REQUIRED"or "SHALL", mean that the definition is an absolute requirement of the specification.
(この言葉もしくは「REQUIRED」「SHALL」という用語は、その定義が要求する仕様へ完全に準拠する必要があることを意味する)

SHOULD
This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
(この言葉もしくは「RECOMMENDED」という形容詞は、特定の環境において特定の項目を無視するに足る妥当な理由が存在するかもしれないが、その意味をすべて理解している必要があり、異なった選択肢を採る前には十分に評価を行なわなければならない)

 これらの定義にしたがって先のRFCの一文を解釈すると、SMTPを実装する際は基本的な拡張へのサポートが義務であり、クライアントは特別な理由がない限り、「EHLO」とサーバーに返さなければいけないということだ。

 RFCだけでなく諸々のIT英文で、大文字のMUST(~せねばならない)やSHODLD(~するべきである)を見かけたら、「厳密に使用される」ことを示唆しているのだと理解しよう。

RFCの文中で「MUST」や「SHOULD」に出会ったら…

Illustration:Aiko Yamamoto

■関連記事

  • 電子メールを基礎の基礎から学んでいこう

    メールシステムを構成する3つの要素とは?

    電子メールを基礎の基礎から学んでいこう

    電子メールを実現している「メールシステム」について、メールが届く仕組みから、関連する主要なプロトコルについて見ていく。まずはメールシステム全体を見てみよう。


  • メールを送る際に使われるSMTPの仕組みとは?

    メールの送信と交換を行なうプロトコルを理解しよう

    メールを送る際に使われるSMTPの仕組みとは?

    「メールを送る」とは、最終的にメールアドレスの示すメールボックスにメッセージを送り込むことである。このとき、2つのホスト間でメールを転送するのに使われるプロトコルが「SMTP」だ。


  • SMTPの拡張機能を確かめる「EHLOコマンド」を知ろう!

    トラブルシューティングに役立つステータスコードとは?

    SMTPの拡張機能を確かめる「EHLOコマンド」を知ろう!

    SMTP拡張機能を使うためには、クライアントとサーバの双方がサポートしていなければならない。クライアントがサーバに、SMTP拡張機能をサポートしていることを伝える手段として用意されているのが、EHLOコマ...


  • メールの受信用に作られたPOPを学ぶ

    サーバからメールを取り出すプロトコルはどう動く?

    メールの受信用に作られたPOPを学ぶ

    メールがサーバに届いても、それを取り出す方法がなければ読むことができない。そうした手段を提供するプロトコルの1つとしてPOPがある。POPは、サーバからメールを取り出すために使われてきた古典的なプロト...


キャリア連載バックナンバー
今さら聞けないIT英語

記事一覧へ >>

採用を勝ち取る転職必勝マニュアルバナー

おすすめ連載

組み込み系エンジニア特集

今さら聞けないIT英語

エンジニアライフ

資格試験対策

プロマネ・スキル

ビジネススキル

独立起業事例集

キャリア・コーナー紹介