平文プロトコルを 「手でしゃべる」
筆者はプロトコルを暗記しているのはSMTP,
たとえばSMTPを
$ telnet 0 25 Trying 0.0.0.0... Connected to 0 (0.0.0.0). Escape character is '^]'. 220 hostname.domainname ESMTP ehlo localhost 250-hostname.domainname 250-PIPELINING 250 8BITMIME mail from: zaki@zero-start.jp 250 ok rcpt to: zaki@zaki.jp 250 ok data 354 go ahead from:to: subject: test test . 250 ok 1301293631 qp 31290 quit 221 hostname.domainname Connection closed by foreign host. $
このうち,
ehlo mail from: rcpt to: data . quit
まずグリーティングメッセージがサーバから送られています。ESMTPというは拡張SMTPをサポートしていますよ,
ehloはこちらの
mail from: とrcpt to: はメールエンベロープの送信元と送信先を指定するコマンドです。dataは実際のメールのヘッダとボディを送信するコマンドです。ヘッダに続く最初の空行以降がボディという約束になっています。
また単独の.がdataの終わりを意味しています。最後にquitでプロトコルを終了して,
これを見ると,
上記の例のように,
注意点として,
ちなみにSMTPの執筆時点でのRFCは5321になります。元々はRFC821という非常に有名なRFC番号
次回はこの続きでHTTPプロトコルについて解説してみたいと思います。