戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2013年 春期 77


問題文

Webページの来訪者数カウンタなどのように、訪問者が訪れるごとに新たなページを生成する機能を実現できる仕組みはどれか。

選択肢

CGI(正解)
cookie
HTML
SQL

🔒 解説は解答すると表示されます

Webページの来訪者数カウンタなどのように、訪問者が訪れるごとに新たなページを生成する機能を実現できる仕組みはどれか。【ITパスポート 解説】

正解の理由

正解は選択肢 の CGI です。
CGI(Common Gateway Interface:ウェブサーバと外部プログラムをつなぐ仕組み)は、ブラウザからのリクエストを受けてサーバ側でプログラムを実行し、その結果として新しい HTML ページを動的に作成して返すことができます。来訪者数カウンタでは、訪問のたびにプログラム側でカウントを増やし、その値を反映したページを生成して返すため、まさに CGI の役割に当てはまります。
  • 「新たなページを生成する」=サーバ側で処理して応答を作る、という動作が必要。
  • CGI はそのための典型的な仕組みです。

解法ステップ

  1. 問題文のキーワードを確認:「訪問者が訪れるごとに新たなページを生成する」=動的にページを作る仕組みを探す。
  2. 各選択肢の役割を短く思い出す:
    • CGI(ウェブサーバと外部プログラムをつなぐ仕組み)→ サーバでプログラム実行、動的ページ生成が可能
    • cookie(ウェブブラウザに保存される小さなデータ)→ クライアント側に情報を保持
    • HTML(HyperText Markup Language:ウェブページを記述する言語)→ ページの構造・表示を記述(静的)
    • SQL(Structured Query Language:データベースを操作する言語)→ データの検索・更新を行う言語(表示はしない)
  3. 「動的にページを作る」という条件に合うものはサーバ側でプログラムを動かせる仕組み、すなわち (CGI)と判断する。

選択肢別の誤答解説

  • :CGI(Common Gateway Interface:ウェブサーバと外部プログラムをつなぐ仕組み)
    → 正解。リクエストごとにプログラムを実行して、動的な HTML を生成できる。カウンタの保存先(ファイルやデータベース)に値を書き込み、現在の値を埋め込んだページを返す、といった実装が可能。
  • イ:cookie(ブラウザに保存される小さなデータ)
    → 誤り。cookie はユーザの端末(クライアント)に短い情報を保存する仕組みです。訪問者の識別や設定の保存には使えますが、「サーバ側で新しくページを生成する」機能そのものではありません。
  • ウ:HTML(HyperText Markup Language:ウェブページを記述する言語)
    → 誤り。HTML はページの構造や表示を記す言語で、単体では訪問ごとの処理やカウント更新などの「動的処理」はできません。サーバ側の処理やスクリプトと組み合わせる必要があります。
  • エ:SQL(Structured Query Language:データベースを操作する言語)
    → 誤り。SQL はデータベースへの問い合わせや更新を行う言語です。カウンタの値を保存・取得するために使えますが、SQL 自体がウェブページを生成するわけではありません。ページ生成はサーバ側プログラム(例:CGI)が行います。

よくある誤解

  1. 「cookie があれば訪問者ごとにページを作れる」
    → cookie は訪問者の情報を端末に保存するだけです。ページの生成やサーバ上のカウント更新はできません。
  2. 「HTML が動的ページを作る言語だ」
    → HTML は表示のための言語で、動的に値を変えるにはサーバ側(CGI/PHPなど)やクライアント側のスクリプト(JavaScript)との連携が必要です。
  3. 「SQL がそのままページを返す」
    → SQL はデータ操作言語です。データを取ってきた後に、その結果を HTML に組み立てて返すのはサーバプログラムの役割です。

補足コラム

近年は CGI の代わりに、より便利な仕組みやフレームワークがよく使われます。たとえば:
  • PHP(サーバサイドスクリプト):HTML に埋め込んで動的ページを作ることが多い。
  • Python の WSGI(Web Server Gateway Interface):CGI の後継的な役割を果たすサーバとの接続方式。
  • Node.js(サーバ上で JavaScript を動かす環境):非同期処理を得意とし、動的サイトでよく使われる。
    これらも「サーバ側で処理して動的なページを返す」点では CGI と同じ目的を果たします。来訪者数カウンタの実装パターンは主に次のどれかです:
  • ファイルに数値を書き込む(簡単だが同時アクセスに弱い)
  • データベースに保存する(堅牢、安全) — このとき SQL はデータ操作に使う
  • クラウドのデータストアやキャッシュを使う(高速)
簡単なイメージ(擬似コード、Python 風):
# 受け取ったリクエストでカウントを増やし、HTML を返すイメージ
count = read_count_from_db()   # SQL を使って値を取得
count += 1
write_count_to_db(count)       # SQL で更新
html = f"<html><body>訪問者数: {count} 回</body></html>"
return_html_response(html)     # サーバが返す
この一連の処理を呼び出す仕組みが CGI や他のサーバサイド技術です。

FAQ

Q1: cookie を使えばカウンタは作れませんか?
A1: cookie はユーザごとに情報を保存できますが、全体の訪問者数(サイト全体のカウント)を正確に管理するにはサーバ側で集計する必要があります。cookie は重複訪問の判定などの補助には使えます。
Q2: CGI は今でも使われていますか?
A2: はい。ただし、古い方式の CGI は性能面での問題があり、より高性能なフレームワークや仕組み(PHP、WSGI、Node.js など)がよく使われます。役割(サーバで処理して応答を作る)は同じです。
Q3: SQL を知らないとカウンタは組めませんか?
A3: データベースを使うなら SQL の基本は役立ちますが、ファイルベースの簡単な実装も可能です。実務的にはデータベース+SQL の組み合わせが多いです。

関連キーワード: 動的ページ生成、サーバサイド、クライアントサイド、HTTP、カウンタ、ウェブプログラミング、CGI、cookie、HTML、SQL、データベース
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について