メール・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を選びます。
Bcc:転送の途中でヘッダから消える
Bcc(Blind Carbon Copy)は、ほかの受信者に知られずにコピーを送るための宛先欄です。アドレスが他の受信者に見えないよう、送信の過程でヘッダから削除されます。逆に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 | メールなどでデータの種類を表す規格 |
TELNET:遠隔ログインの仮想端末
TELNETは、ネットワーク越しに別のコンピュータへログインして、その場にいるかのように操作できるようにするプロトコルです。手元の画面が、相手のコンピュータの端末として振る舞うので仮想端末と呼ばれます。通信が暗号化されないため、実務では暗号化するSSHが使われています。
試験での問われ方
- 定義を読ませて略語を選ばせる形が基本です。選択肢には、同じTCP/IPの仲間(FTP・HTTP・SMTP・TELNET・POPなど)が並びます。
- 決め手になるキーワードを拾います。
| 問題文のキーワード | 選ぶもの |
|---|---|
| 送信する/サーバ間で交換・転送する | SMTP |
| メールボックスから取り出す/受信する | POP3 |
| 画像・音声・動画/添付/ヘッダの拡張 | MIME |
| 転送の過程で削除されるヘッダ | Bcc |
| Webサーバと外部プログラムを連携/インタラクティブなページ | CGI |
| リモートログイン/遠隔操作/仮想端末 | TELNET |
| ファイル転送 | FTP |
| Webページの転送 | HTTP |
- 説明文を選ぶ問題では、他のプロトコルの説明が混ざります。たとえばPOP3を問う問題に「利用者がメールを送るとき」(SMTP)や「PPPのリンク確立後に認証する」(PPPの認証)が出ます。
図のメールの流れにプロトコルを当てはめる
ア ①POP3,②POP3,③SMTP
イ ①POP3,②SMTP,③POP3
ウ ①SMTP,②POP3,③SMTP
エ ①SMTP,②SMTP,③SMTP
解き方と答えを見る
- 図の3本の矢印の向きを確認する。①はクライアント→サーバ(送信)、②はサーバ→クライアント(受信)、③はサーバ⇔サーバ(転送)。
- 「送る・運ぶ」はSMTP、「取り出す」はPOP3というルールを当てはめる。
- ①はクライアントからサーバへ送るので SMTP。
- ②はサーバのメールボックスから取り出すので POP3。
- ③はサーバどうしで受け渡すので、送信と同じ SMTP。
- ①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)
メールを送信者からメールサーバへ送り、メールサーバどうしで転送するためのプロトコル。
⚠ POP3と取り違えやすい。送る・運ぶならSMTP、受信者が取り出すならPOP3。
受信者がメールサーバのメールボックスから自分宛てのメールを取り出すためのプロトコル。
⚠ SMTPは送信、IMAP4はサーバ上にメールを置いたまま管理する受信プロトコル。
メールをサーバ上に残したまま閲覧・管理する受信用プロトコル。
⚠ POP3は取り出して手元に保存するのが基本、IMAP4はサーバに置いたまま管理する。
メールのヘッダを拡張し、画像・音声・動画・多言語の文字など、英数字以外のデータを扱えるようにした規格。
⚠ SMTPは運ぶ手順、JPEG・MPEGは画像や動画の形式。メールで文字以外を扱う規格ならMIME。
他の受信者に知られずにメールのコピーを送る宛先欄で、送信の過程でヘッダから削除される。
⚠ Ccは他の受信者にも見える。Receivedは転送ごとに追加され、Dateは残る。
メールが経由したサーバごとに追加される、配送経路の記録用ヘッダ。
⚠ 削除されるのはBcc。Receivedは削除されず、転送のたびに増える。
Webサーバがブラウザの要求に応じて外部プログラムを起動し、その結果を返すための仕組み。
⚠ HTMLはページを書く言語、URLは所在を表すアドレス。CGIはサーバ側で動き、それ自体は言語ではない。
OS上で実行中のプログラム1つ分のこと。CGIではリクエストごとに生成される。
ネットワーク越しに別のコンピュータへログインし、仮想端末として遠隔操作するためのプロトコル。
⚠ FTPはファイル転送。遠隔ログイン・遠隔操作・仮想端末ならTELNET。
手元の画面を、離れたコンピュータの操作端末のように使えるようにする機能。
通信を暗号化して遠隔ログインや遠隔操作を行うプロトコルで、TELNETの安全な代替。
⚠ TELNETは暗号化しない。暗号化した遠隔操作ならSSH。
コンピュータ間でファイルを転送するためのプロトコル。
⚠ TELNETは遠隔操作、MIMEはメールで画像などを扱う規格。
WebブラウザとWebサーバの間でWebページなどをやり取りするためのプロトコル。
⚠ HTMLはページを書く言語、HTTPはそれを運ぶ手順。
Webページの見出しや段落などの構造を記述する言語。
⚠ CGI(外部プログラムとの連携)やMIME(メールの拡張)の選択肢に混ぜられる。
電話回線などで2地点を直接つなぐときに使うデータリンク層のプロトコルで、利用者認証の仕組みも持つ。
⚠ POP3の説明問題に「PPPのリンク確立後に利用者を認証する」として紛れ込む。メールの受信とは無関係。
このレッスンの過去問
- メール送受信プロトコル(SMTP・POP3)平成24年度 春期 基本情報技術者試験 午前 問38
- MIMEの役割(メール添付拡張)平成30年度 秋期 基本情報技術者試験 午前 問34
- 電子メールヘッダのBccの扱い平成30年度 春期 基本情報技術者試験 午前 問34
- CGIによるWebサーバと外部プログラムの連携平成30年度 春期 基本情報技術者試験 午前 問35
- TELNETの定義(仮想端末)平成23年度 特別試験 基本情報技術者試験 午前 問41