資格道場 › レッスン一覧 › ネットワーク
ネットワーク・9/11・9分

メール・Web・遠隔操作のアプリケーション

ゴール

メールの送信・受信・添付、Webサーバと外部プログラムの連携、遠隔操作で使うプロトコルや仕組みを名前と役割で対応づけ、選択肢から正しいものを選べるようになる。図で示されたメールの流れに、SMTPとPOP3を正しく当てはめられるようになる。

SMTP・POP3・MIME・CGI・TELNETは、略語と役割の対応を問うだけの定番問題で、名前を入れ替えたひっかけ選択肢が毎回のように出る。対応表を一度頭に入れれば確実に得点でき、メールが届かない・添付が文字化けするといった実務の話も読めるようになる。

このレッスンで稽古する(用語チェック・過去問)

結論:役割と略語を1対1で覚える

この分野の問題は、ほぼ**「この役割を担うのはどれか」**の形で出ます。計算は出ません。下の表を覚えれば大半を解けます。

略語 ひとことで言うと 使う場面
SMTP メールを送る・サーバ間で受け渡す 送信者→自分のサーバ、サーバ→相手のサーバ
POP3 メールをサーバから取り出す 受信者が自分のメールボックスから受け取る
MIME メールで画像・音声・動画・日本語を扱えるようにする拡張規格 添付ファイル、文字以外のデータ
CGI Webサーバが外部プログラムを起動して結果を返す仕組み フォーム送信、検索結果などの動的なページ
TELNET 離れたコンピュータにログインして操作する(仮想端末) サーバの遠隔操作

プロトコルとは、通信するときの取り決め(手順や形式)のことです。

メールの送受信:送るのはSMTP、取り出すのはPOP3

メールは郵便にたとえると分かりやすいです。ポストに投函して郵便局どうしで運ぶのがSMTP、自宅の郵便受けから手紙を取り出すのがPOP3です。SMTPは「送る側」の手順なので、受信者が自分のメールを受け取る場面では使いません。

flowchart LR
  A["送信者のメールソフト"] -->|"SMTP(送信)"| B["送信側メールサーバ"]
  B -->|"SMTP(転送)"| C["受信側メールサーバ"]
  C -->|"POP3(取り出し)"| D["受信者のメールソフト"]
用語 正式名称 向き 一言
SMTP Simple Mail Transfer Protocol クライアント→サーバ、サーバ→サーバ 送信・転送
POP3 Post Office Protocol version 3 サーバ→クライアント 受信(取り出してPCに保存するのが基本)
IMAP4 Internet Message Access Protocol version 4 サーバ上で読む 受信(メールをサーバに置いたまま管理する)

覚え方:POPの「Post Office」=郵便局の私書箱から取り出す、と結びつけます。SMTPの「Transfer」=運ぶ、です。

MIME:メールで文字以外を送るための拡張(最頻出)

もともとの電子メールは英数字のテキストしか送れない前提で作られていました。そこで、ヘッダ(宛先や件名が入るメールの頭の部分)を拡張し、画像・音声・動画・日本語などの文字以外のデータも扱えるようにした規格がMIMEです。添付ファイルが送れるのはMIMEのおかげです。

たとえるなら、SMTPがトラック(運ぶ手段)、MIMEは荷物の梱包ルールです。写真や音声をどう包んでラベルを付けるかを決めるのがMIMEで、運ぶこと自体はSMTPが担います。

試験では、次のような**「それっぽい別物」**と並べられます。

選択肢 正体 MIMEとの違い
MIME メールで多様なデータを扱う拡張規格 ← 正解はこれ
SMTP メールの送信・転送プロトコル 運ぶ手順であり、データ形式の規格ではない
POP メールの受信プロトコル 取り出す手順
JPEG 静止画の圧縮形式 画像そのものの形式で、メールの規格ではない
MPEG 動画の圧縮形式 同上
HTML Webページを書く言語 メールの規格ではない
FTP ファイル転送プロトコル メールとは別の仕組みでファイルを送る

問題文に**「電子メール」と「画像・音声・動画・添付・ヘッダの拡張」**が同時に出てきたら、MIMEを選びます。

画像音声日本語MIME(荷物の梱包ルール)ヘッダを拡張し、データの種類を表すSMTP(トラック=運ぶ手段)包んだメールを送信・転送する
画像・音声・日本語をMIMEのルールで包み、運ぶのはSMTPが担う

Bcc:転送の途中でヘッダから消える

Bcc(Blind Carbon Copy)は、ほかの受信者に知られずにコピーを送るための宛先欄です。アドレスが他の受信者に見えないよう、送信の過程でヘッダから削除されます。逆にReceived(経由したサーバの記録)は転送のたびに追加され、Dateは残ります。

送信したときのヘッダ受信者に届いたヘッダDateBcc(まだ無い)Date(残る)Bcc(削除)Received(追加)Receivedは転送のたびに追加される
送信から受信までの間に、Bccは削除・Receivedは追加・Dateは残る

CGI:Webサーバが外部プログラムを動かす仕組み

CGI(Common Gateway Interface)は、ブラウザからの要求を受けたWebサーバが外部のプログラムを起動し、その実行結果をHTMLにしてブラウザへ返すための**取り決め(インタフェース)**です。お問い合わせフォームの送信や検索結果ページのように、入力に応じて中身が変わるページを作るのに使われます。

レストランにたとえると、Webサーバはホール係、CGIプログラムは厨房です。ホール係は注文(リクエスト)を厨房に伝え、できた料理(結果)を客に運びます。CGIはその受け渡しのルールです。

試験で押さえる性質は4つです。

  • サーバ側で動く:ブラウザ側で動くJavaScriptとは異なる
  • 言語ではない:CGIプログラムはPerlやCなど別の言語で書く
  • リクエストのたびにプロセスが生成される(プロセス=実行中のプログラム1つ分)。アクセスが多いと負荷が高くなる
  • HTMLのフォームでは代わりにならない:フォームは入力を送るだけで、処理するのはCGIプログラム
選択肢 正体
CGI Webサーバと外部プログラムを連携させる仕組み
HTML Webページの構造を書く言語
URL Web上の場所を表すアドレス
MIME メールなどでデータの種類を表す規格
ブラウザ(客)①リクエスト④HTMLで返すWebサーバ(ホール係)サーバ側で動く②起動③実行結果CGIプログラム(厨房)このリクエスト用のプロセス1つリクエストのたびに新しく起動されるアクセスが多いと負荷が高くなる
Webサーバはリクエストのたびに外部のCGIプログラムを新しく起動し、戻ってきた実行結果をHTMLでブラウザへ返す

TELNET:遠隔ログインの仮想端末

TELNETは、ネットワーク越しに別のコンピュータへログインして、その場にいるかのように操作できるようにするプロトコルです。手元の画面が、相手のコンピュータの端末として振る舞うので仮想端末と呼ばれます。通信が暗号化されないため、実務では暗号化するSSHが使われています。

試験での問われ方

  • 定義を読ませて略語を選ばせる形が基本です。選択肢には、同じTCP/IPの仲間(FTP・HTTP・SMTP・TELNET・POPなど)が並びます。
  • 決め手になるキーワードを拾います。
問題文のキーワード 選ぶもの
送信する/サーバ間で交換・転送する SMTP
メールボックスから取り出す/受信する POP3
画像・音声・動画/添付/ヘッダの拡張 MIME
転送の過程で削除されるヘッダ Bcc
Webサーバと外部プログラムを連携/インタラクティブなページ CGI
リモートログイン/遠隔操作/仮想端末 TELNET
ファイル転送 FTP
Webページの転送 HTTP
  • 説明文を選ぶ問題では、他のプロトコルの説明が混ざります。たとえばPOP3を問う問題に「利用者がメールを送るとき」(SMTP)や「PPPのリンク確立後に認証する」(PPPの認証)が出ます。
例題 1

図のメールの流れにプロトコルを当てはめる

図の環境で利用される①~③のプロトコルの組合せとして,適切なものはどれか。
図: メールクライアント → メールサーバ(①メール送信,矢印はクライアントからサーバへ),メールサーバ → メールクライアント(②メール受信,矢印はサーバからクライアントへ),メールサーバ ⇔ 別のメールサーバ(③メール転送,双方向矢印)。

ア ①POP3,②POP3,③SMTP
イ ①POP3,②SMTP,③POP3
ウ ①SMTP,②POP3,③SMTP
エ ①SMTP,②SMTP,③SMTP

出典:平成21年度 春期 基本情報技術者試験 午前 問39

解き方と答えを見る
  1. 図の3本の矢印の向きを確認する。①はクライアント→サーバ(送信)、②はサーバ→クライアント(受信)、③はサーバ⇔サーバ(転送)。
  2. 「送る・運ぶ」はSMTP、「取り出す」はPOP3というルールを当てはめる。
  3. ①はクライアントからサーバへ送るので SMTP。
  4. ②はサーバのメールボックスから取り出すので POP3。
  5. ③はサーバどうしで受け渡すので、送信と同じ SMTP。
  6. ①SMTP・②POP3・③SMTP の組合せを探す。ウが該当する。

答え:ウ(①SMTP,②POP3,③SMTP)。SMTPは2か所に使い、POP3は受信の1か所だけ。

要点(試験直前に読む)

  • メールは「送る・サーバ間で運ぶ=SMTP」「受信者が取り出す=POP3」。図の問題ではSMTPが2か所、POP3が1か所になる。
  • MIMEは、メールで画像・音声・動画・日本語を扱えるようにヘッダを拡張した規格。添付ならMIME(最頻出)。
  • Bccは転送の過程でヘッダから削除される。Receivedは転送ごとに追加される。
  • CGIはWebサーバが外部プログラムを起動して結果を返す仕組み。サーバ側で動き、リクエストごとにプロセスが生成される。CGI自体は言語ではない。
  • TELNETは遠隔ログインのための仮想端末。暗号化しないので、実務ではSSHを使う。

ひっかけ

  • 受信にSMTPを当てる誤り:SMTPは送信と転送だけ。受信者がメールボックスから取り出すならPOP3。
  • MIMEの代わりにSMTP・JPEG・MPEG・HTMLを選ばせる:SMTPは運ぶ手順、JPEG・MPEGはデータの形式。「メールで画像・音声を扱う規格」ならMIME。
  • CGIを「クライアント側で動く」「独自の言語仕様を持つ」「HTMLフォームで代替できる」とする選択肢:すべて誤り。サーバ側で外部プログラムを起動し、リクエストごとにプロセスを生成する。
  • 転送中に削除されるヘッダを問う問題でReceivedやDateを選ぶ誤り:削除されるのは、他の受信者に見せないためのBcc。
  • 遠隔操作の問題でFTPやHTTPを選ぶ誤り:リモートログイン・仮想端末ならTELNET。

用語(15)

SMTP Simple Mail Transfer Protocol
メールを送信者からメールサーバへ送り、メールサーバどうしで転送するためのプロトコル。
⚠ POP3と取り違えやすい。送る・運ぶならSMTP、受信者が取り出すならPOP3。
POP3 Post Office Protocol version 3
受信者がメールサーバのメールボックスから自分宛てのメールを取り出すためのプロトコル。
⚠ SMTPは送信、IMAP4はサーバ上にメールを置いたまま管理する受信プロトコル。
IMAP4 Internet Message Access Protocol version 4
メールをサーバ上に残したまま閲覧・管理する受信用プロトコル。
⚠ POP3は取り出して手元に保存するのが基本、IMAP4はサーバに置いたまま管理する。
MIME Multipurpose Internet Mail Extensions
メールのヘッダを拡張し、画像・音声・動画・多言語の文字など、英数字以外のデータを扱えるようにした規格。
⚠ SMTPは運ぶ手順、JPEG・MPEGは画像や動画の形式。メールで文字以外を扱う規格ならMIME。
Bcc Blind Carbon Copy
他の受信者に知られずにメールのコピーを送る宛先欄で、送信の過程でヘッダから削除される。
⚠ Ccは他の受信者にも見える。Receivedは転送ごとに追加され、Dateは残る。
Received レシーブド
メールが経由したサーバごとに追加される、配送経路の記録用ヘッダ。
⚠ 削除されるのはBcc。Receivedは削除されず、転送のたびに増える。
CGI Common Gateway Interface
Webサーバがブラウザの要求に応じて外部プログラムを起動し、その結果を返すための仕組み。
⚠ HTMLはページを書く言語、URLは所在を表すアドレス。CGIはサーバ側で動き、それ自体は言語ではない。
プロセス プロセス
OS上で実行中のプログラム1つ分のこと。CGIではリクエストごとに生成される。
TELNET テルネット
ネットワーク越しに別のコンピュータへログインし、仮想端末として遠隔操作するためのプロトコル。
⚠ FTPはファイル転送。遠隔ログイン・遠隔操作・仮想端末ならTELNET。
仮想端末 かそうたんまつ
手元の画面を、離れたコンピュータの操作端末のように使えるようにする機能。
SSH Secure Shell
通信を暗号化して遠隔ログインや遠隔操作を行うプロトコルで、TELNETの安全な代替。
⚠ TELNETは暗号化しない。暗号化した遠隔操作ならSSH。
FTP File Transfer Protocol
コンピュータ間でファイルを転送するためのプロトコル。
⚠ TELNETは遠隔操作、MIMEはメールで画像などを扱う規格。
HTTP HyperText Transfer Protocol
WebブラウザとWebサーバの間でWebページなどをやり取りするためのプロトコル。
⚠ HTMLはページを書く言語、HTTPはそれを運ぶ手順。
HTML HyperText Markup Language
Webページの見出しや段落などの構造を記述する言語。
⚠ CGI(外部プログラムとの連携)やMIME(メールの拡張)の選択肢に混ぜられる。
PPP Point-to-Point Protocol
電話回線などで2地点を直接つなぐときに使うデータリンク層のプロトコルで、利用者認証の仕組みも持つ。
⚠ POP3の説明問題に「PPPのリンク確立後に利用者を認証する」として紛れ込む。メールの受信とは無関係。

このレッスンの過去問

このレッスンで稽古する