IPA Web・その他のアプリケーションプロトコル — 頻出論点と過去問

頻出論点

1. この分野は何か

Webページの閲覧を支えるHTTPやその通信を中継するプロキシ・CDN、ファイル転送のFTP、時刻合わせのNTPといったアプリケーション層のプロトコルを扱います。ブラウザとサーバの間で送られるメッセージ構造や中継装置の振る舞い、踏み台化を防ぐ設定対策が理解の中心になります。

2. 実際の出題のされ方

Web閲覧やファイル転送、情報配信に関わる基本用語の定義は、ITパスポートで問われます。訪問者の端末にWebブラウザを通じてデータを保存するCookieの仕組み、内部PCの代理としてWebサーバへアクセスするプロキシサーバの役割、ファイルを転送するFTP、ブログ等の更新情報を収集して一覧表示するRSSリーダなどが出題されています。

URL表記や中継サーバの役割、FTPのポートの使い分けは、応用情報技術者の午前と高度試験の午前Iで問われます。具体的には、URL内でポート番号を指定する位置(ホスト名の直後にコロンで記述)、インターネットから内部の公開Webサーバへの通信を中継するリバースプロキシ、データ転送用と制御用に異なるウェルノウンポートを使うFTPが出題されています。

HTTPメッセージやヘッダーの細部、中継時のコネクション区間、FTP・NTPの動作と踏み台対策は、高度試験の午前IIで問われています。HTTPステータスコードの番台ごとの意味と302 Foundなどの具体例、HTTP/1.1のリクエストメッセージ(リクエスト行・ヘッダー・メッセージボディ)においてGETとPOSTで入力データが含まれる位置の違い、Cache-Controlヘッダーによるキャッシュ制御、HTTPS接続を強制するHSTSが出題されています。HTTPを拡張してサーバ上のファイル管理やバージョン管理を行うWebDAV、JavaScriptによる非同期通信で画面を部分更新するAjax、プロキシ経由の通信でTCPコネクションが確立される区間についての問題もあります。また、CDN利用によって副次的に軽減できるDDoS攻撃や、SNTPによる時刻同期およびNTPリフレクション攻撃の踏み台対策(monlistの無効化)が問われています。FTPについては、制御用とデータ転送用の2つのコネクションを使う理由に加えて、パッシブモードでデータ転送用ポートを要求するPASVコマンドも出題されています。

3. 学習のポイント

  • HTTPリクエスト・レスポンスの仕様: HTTP/1.1のリクエストでは、HTMLフォームの入力データはGETメソッドならURLパラメータとしてリクエスト行に、POSTメソッドならメッセージボディに含まれます。レスポンスのステータスコードは100番台(情報)、200番台(成功)、300番台(リダイレクト)、400番台(クライアントエラー)、500番台(サーバエラー)の分類を押さえます。
  • HTTPヘッダーによるキャッシュ・暗号化制御: 応答内容をWebブラウザやプロキシサーバのキャッシュに一切保持させない指定はCache-Control: no-storeです。また、Webブラウザに対して以降の指定期間すべてHTTPS(HTTP over TLS)で接続させるHSTS(HTTP Strict Transport Security)の役割も整理しておきます。
  • 中継サーバ(プロキシ・リバースプロキシ・CDN)の動作: 内部PCからインターネットへの通信を代理するフォワードプロキシと、外部から公開Webサーバへの通信を中継するリバースプロキシの向きの違いを区別します。プロキシ経由の通信ではクライアントとプロキシサーバの間およびプロキシサーバとWebサーバの間の2区間でTCPコネクションが設定され、途中のルータはネットワーク層で転送するだけなのでTCPを終端しません。
  • FTPとNTPの通信制御とセキュリティ: FTPは制御用(ウェルノウンポート21番)とデータ転送用(20番など)の2つのコネクションを使い分けるため、データ転送中でも制御コマンドを送信できます。ファイアウォール越しの通信などでクライアント側からデータ転送用コネクションを接続するためにサーバへポートを要求するコマンドはPASVです。また、UDPを用いるNTPサーバが送信元偽装と応答増幅を伴うNTPリフレクション攻撃の踏み台にされるのを防ぐには、状態確認機能(monlist)を無効化します。

4. 間違えやすいところ

  • GET/POSTのデータ位置とCache-Controlの値の混同: GETやPOSTの入力データがヘッダーに含まれるとする誤答肢や、Cache-Control: no-cacheをキャッシュに一切保持させない設定と取り違えさせる誤答肢が出ています(no-cacheはキャッシュ自体は保存した上で、再利用前にサーバへ有効性を確認させる指定です)。
  • ステータスコードとWeb関連用語の取り違え: 300番台のリダイレクトを問う問題で204 No Content(成功だがコンテンツなし)や404 Not Foundを選ばせる選択肢や、Cookieの説明としてWebブラウザのページキャッシュやバナー、トラックバックの記述を混ぜる問題に注意します。また、Ajaxの選択肢としてスタイル指定のCSSや木構造APIのDOM、イベント駆動型XML解析APIのSAXが並んでいました。
  • FTPのコネクション分割理由とNTP踏み台対策の誤り: FTPの2つのコネクションをデータ転送用と受領応答用、あるいはバイナリ用とテキスト用とする選択肢は誤りです。また、NTPの踏み台化防止策として、ファイアウォールでブロードキャスト宛てパケットを拒否する(Smurf攻撃への対策)ことや、UDPアクセスをNTPだけに制限するといった効果のない対策を選ばないよう区別しておきます。

Web・その他のアプリケーションプロトコルの理解度チェック

Web・その他のアプリケーションプロトコルの過去問一覧

ネットワークのほかの論点

有線LAN・スイッチング32問 無線LAN・接続認証31問 IoT・モバイル通信27問 IPアドレス・サブネット設計40問 TCP・UDP・IP層の制御45問 ルーティング14問 DNS23問 電子メール33問 WAN・VPN・ネットワーク仮想化24問 伝送性能・通信品質27問