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

ITパスポート 2013年 春期 問77


問題文

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

選択肢

ア:CGI(正解)
イ:cookie
ウ:HTML
エ:SQL

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

CGIによる動的ページ生成【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 情報処理技術者試験対策アプリ

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