応用情報 科目A 18:DNS,HTTP,TLSとメール通信
応用情報技術者試験の科目Aに必要なDNSの再帰・権威サーバとTTL、HTTPのリクエスト・レスポンスとステータスコード、cookie・セッション・キャッシュ、HTTPSでのTLSの役割、HTTP/3とQUIC、SMTP・POP3・IMAPを、URL追跡例題とオリジナル演習問題5問で学びます。
AP科目A・第18回 · 2026年度・シラバスVer.7.2に基づく独立した学習資料です。IPAとの提携はなく、合格を保証しません。 シリーズ一覧を見る
2026年試験基準・改訂/出典確認 2026-10-21
学習インデックス
- 公式範囲と用語 2. URLからページまで 3. DNS 4. HTTP 5. TLS 6. HTTP版 7. メール 8. 試験の罠 9. クイックシートと復習 10. 問題
1. 公式範囲と用語
IPA Ver.7.2の大分類3/中分類10ネットワークの 3. 通信プロトコル > (1) プロトコルとインタフェース > ⑤ アプリケーション層のプロトコル(PDF 49/印刷45ページ)及び 5. ネットワーク応用 > (1) インターネット > ① 電子メール・② Web(PDF 51/印刷47ページ)に対応する。非連続ページであり、PDF 50/印刷46ページをAP18の内容ページとはしない。AP16のトランスポート層とAP17のIPルーティングは各一文で接続するだけで、再解説しない。
| KO | JA | EN | 役割 |
|---|---|---|---|
| 재귀 리졸버 | 再帰リゾルバ | recursive resolver | クライアントに代わり検索しキャッシュ可能 |
| 권한 서버 | 権威サーバ | authoritative server | DNSゾーンの原データを提供 |
| 유효 시간 | TTL | time to live | 通常のキャッシュ鮮度の上限 |
| 요청/응답 | リクエスト/レスポンス | request/response | HTTPメッセージ交換 |
| 쿠키 | Cookie | cookie | クライアント保存のスコープ付きデータ |
| 세션 | セッション | session | 多くは不透明IDで結ぶ論理状態 |
| 캐시 | キャッシュ | cache | 再利用できる応答表現の保存 |
| 메일 사용자 에이전트 | MUA | mail user agent | メール作成・閲覧クライアント |
2. https://study.example/ap18?unit=dns からページまで
値は全て予約済みの合成例である。
- ブラウザはscheme
https,hoststudy.example,省略された既定port,path/ap18,queryunit=dnsを解析する。 - browser/OSのstub・cacheを調べ、なければ再帰リゾルバへ問い合わせる。miss時、リゾルバは通常root→TLD→権威サーバのreferralをたどって反復問合せする。再帰リゾルバと権威サーバは別の役割である。
- 権威応答
A=192.0.2.80,TTL=300をt=0に受信したとする。prefetch/serve-staleなしの単純化した流れではt=120に残り180秒で利用でき、期限後のt=301には再問合せする。TTLは鮮度を制限するが世界同時反映を保証しない。 - HTTP/1.1又はHTTP/2のHTTPSでは
TCP接続→TLS→HTTP。典型的Web PKI TLSは証明書の名前・信頼・有効期間を確認してサーバを認証し、鍵を確立して機密性と完全性を保護する。 - 要求例:
GET /ap18?unit=dns HTTP/1.1
Host: study.example
応答例は 200 OK, Cache-Control: max-age=600, ETag: "ap18-v1", 合成 Set-Cookie: SID=synth-7f3a; Secure; HttpOnly; SameSite=Lax と表現本体を含む。
6. 受信をt=0とする単純cacheではt=500はfresh、t=700はstaleなので If-None-Match: "ap18-v1" で再検証する。304 Not Modifiedなら保存した本体を再利用するのであり、新しい空の成功表現ではない。
3. DNSの役割・キャッシュ・TTL
stubは通常、最終回答を再帰リゾルバに求める。リゾルバはcacheでき、missならroot/TLDのreferralをたどりzoneの権威サーバから回答を得る。権威サーバはzoneデータを保持する。TTL 300は通常のcache寿命を300秒に制限するが伝播期限ではない。DNSが名前を解決した後、AP17のIPルーティングがそのアドレスへパケットを運ぶ。
4. HTTPメッセージ・状態・Cookie/session/cache
要求はmethod,target,headers,任意のbodyからなる。応答はstatus,headers,任意のbodyであり、全応答にbodyがあるわけではない。GETは意味上safeかつidempotentとなることを意図するが、URLやlogに残り得るqueryへ秘密を入れてはならない。
| 状態 | 試験レベルの意味 |
|---|---|
| 200 OK | 成功 |
| 301 / 302 | 恒久/一時redirect |
| 304 | 条件付き検証、cache本体を再利用 |
| 400 | 不正な要求 |
| 401 | 認証が必要 |
| 403 | 理解したが拒否 |
| 404 | 見つからない |
| 500 | サーバ障害 |
| 503 | 一時的利用不可 |
Cookieはクライアント保存データで、scopeが一致する要求に送る。sessionは論理状態で、多くは不透明session IDがサーバ側状態を指す。HTTP cacheは応答表現を再利用する。三者は同義ではない。Secureは安全なtransportに送信を制限し、HttpOnlyはscriptアクセスを制限し、SameSiteはcross-site送信の制御を助けるが、絶対的安全を保証しない。
5. TLSの役割と限界
典型的HTTPSのTLSはサーバ認証、鍵確立、通信の機密性・完全性を提供する。証明書はpayload暗号化アルゴリズムそのものではない。TLSはsite/applicationの内容が信頼できるとは保証せず、宛先IPも隠さない。証明書chain検証詳細、公開鍵・署名内部、鍵交換、暗号数学はAP19へ延期する。
6. HTTP版の小比較
| 系列 | 通常のHTTPS Web stack(上位 → 下位層) |
|---|---|
| HTTP/1.1,HTTP/2 | HTTP → TLS → TCP |
| HTTP/3 | HTTP semantics → QUIC → UDP |
表は上位層から下位層の順であり、実際のHTTP/1.1・2の接続確立順は前節の TCP → TLS → HTTP である。QUICはUDPを土台にしつつ、信頼できるstream、輻輳制御、統合TLSを提供する。HTTP/3は生の非信頼HTTPでも追加TCP接続でもない。UDP/443は一般的だが、portだけではprotocolも安全性も証明しない。
7. メール通信
sender@example.test のMUA→SMTP submission server→送信側/受信側mail serverがSMTP relayし、DNS MXで受信domainを探す→recipient@example.test のmailbox→POP3で取得又はIMAPで同期、という流れである。
- SMTPはsubmit/send/relay用で、読むprotocolではない。
- POP3はdownload指向で、設定によりserver copyを残す/削除する。
- IMAPはserver側mailbox・folder・状態を複数clientと同期する。
- MIMEは非ASCII bodyや添付を包装し、transport protocolではない。
| 用途 | IANA上の慣例 |
|---|---|
| SMTP relay / submission | TCP 25 / TCP 587 |
| POP3 / TLS慣例 | TCP 110 / TCP 995 |
| IMAP / TLS慣例 | TCP 143 / TCP 993 |
| HTTP / HTTPS / HTTP/3 | TCP 80 / TCP 443 / 一般にUDP 443 |
登録portだけで相手の身元や安全性は証明できない。TLS mode/STARTTLS詳細は範囲外である。
8. 試験の罠
- recursiveとauthoritativeを逆にせず、clientが全authorityへ再帰問合せするとも考えない。
- TTLはcache上限で、世界的伝播保証ではない。
- 304はredirect、error、新しい空bodyではなく保存body再利用である。
- 401は認証必要、403は理解した上での拒否。
- Cookie、session、cacheを混同しない。
- HTTPSだけでapplicationの信頼性まで断定しない。
- SMTP、POP3/IMAP、MIMEの役割を分離する。
9. クイックシート・自己確認・1/3/7日復習
- Quick sheet:
DNS → (H1/H2: TCP→TLS | H3: QUIC/UDP) → HTTP;SMTP=submit/relay,POP3=retrieve,IMAP=server sync。 - 自己確認:recursive/authoritative、t=120/301・t=500/700、304、Cookie/session/cache、TLSの限界、mail flowを説明できるか。
- 1日:URL flowと10 statusを再現。3日:二つのcache時間線とmail flowを描く。7日:全問を再試行し全誤答を説明する。
10. オリジナル四択5問
Q1
DNSの説明で正しいものはどれか。 ア 権威サーバが常にclientに代わり階層全体へ再帰問合せする。 イ 再帰リゾルバはcacheでき、miss時にreferralをたどり権威階層へ問い合わせ、権威サーバはzone dataを保持し、TTLは通常cache寿命を制限する。 ウ TTLはその時間内の全世界伝播を保証する。 エ clientがroot以下の全authorityへ個別に再帰問合せする。
正解:イ(2)。 アは役割を逆転。イは役割とTTLを正しく分離。ウに伝播保証はない。エでは通常stubが再帰リゾルバへ任せる点を無視する。
Q2
HTTPS/HTTP/3で正しいものはどれか。 ア HTTP/3は非信頼の生HTTPをUDPへ直接載せる。 イ TLSはDNSより先に行う。 ウ 証明書自体が各HTTP bodyを暗号化するalgorithmである。 エ 通常のHTTPS HTTP/1.1・2はTCP後にTLSを使い、HTTP/3は追加TCPなしで信頼streamと統合TLSを持つQUIC over UDPを使う。
正解:エ(4)。 アはQUIC機能を無視。イは順序誤り。ウは証明書とcipherを混同。エが正しい比較である。
Q3
stale cacheを If-None-Match で検証しvalidatorが一致した場合はどれか。 ア 304は恒久redirect。 イ 304はserver error。 ウ serverは304を返せ、clientは保存bodyを再利用する。 エ 304には常に新しい表現bodyがある。
正解:ウ(3)。 アはredirectではない。イはerrorではない。ウが条件付き再利用。エは新bodyを誤って必須にする。
Q4
正しい区別はどれか。 ア Cookieはclient保存scope data、sessionは多くは不透明IDで選ぶ論理状態、cacheは応答を再利用する。 イ 三者は同じserver file。 ウ SecureならCookie窃取は絶対不可能。 エ HttpOnlyなら全CSRFが消える。
正解:ア(1)。 アは三役割を分離。イは混同。ウは送信制限を絶対保証にした。エはscriptアクセス制限を完全防御と混同した。
Q5
mail protocolで正しいものはどれか。 ア POP3がserver間relayしSMTPがmailbox同期する。 イ IMAPが送信しSMTPが添付を符号化する。 ウ MIMEはmail server間transportである。 エ SMTPはsubmit/relay、POP3はdownload指向取得、IMAPはserver側mailbox状態同期に使う。
正解:エ(4)。 アは逆。イはIMAP/SMTP/MIMEを誤る。ウは包装をtransportと誤る。エが正しい。
正解キー:[2, 4, 3, 1, 4] = [イ, エ, ウ, ア, エ]
公式出典と告知
一次公式資料、2026-10-21確認:IPA Ver.7.2, RFC 1034, RFC 1035, RFC 9110, RFC 9111, RFC 6265, RFC 8446, RFC 9113, RFC 9114, RFC 9000, RFC 5321, RFC 1939, RFC 9051, RFC 2045, IANA ports。
独自作成の学習資料でありIPA/IETF/IANAとの提携はない。過去問題・第三者解説を使用せず、合格を保証しない。