基本情報 平成22年度 秋期 問39:テクノロジ系に関する問題
Web サーバにおいて, クライアントからの要求に応じてアプリケーションプログラ ムを実行して, その結果をブラウザに返すなどのインタラクティブなページを実現す るために, Web サーバと外部プログラムを連携させる仕組みはどれか。
- aCGI正答
- bHTML
- cMIME
- dURL
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「CGI」 です。
昔のWebサイトで、ユーザがフォームに何か入力したら、サーバ側でプログラムが動いて結果を返す仕組み。お問い合わせフォームやアクセスカウンターをイメージするとわかりやすいです。
👉 覚え方:CGI=Webサーバと外部プログラムを「つなぐ橋」。
ほかの選択肢:b HTML=Webページの書き方/c MIME=メールでファイル添付できる規格/d URL=Webページの住所。
なぜこれが正解か
正解は a。CGI(Common Gateway Interface)はWebサーバが外部プログラム(Perl・C・PHP等)を起動し、ユーザからのリクエスト内容を渡して実行結果を受け取り、ブラウザに返す仕組み。動的Webページを実現する初期の代表技術。
各選択肢の解説
- b HTML:Webページの構造を記述するマークアップ言語。プログラム実行機能はない。
- c MIME:メールでマルチメディアデータを扱うための規格(Content-Type指定)。
- d URL:Web上のリソースの場所を示すアドレス。
覚え方・ひっかけ注意
CGI=Common Gateway Interface(共通の出入口)。リクエストごとに別プロセスを起動するため負荷が高く、現代ではFastCGI・サーブレット・WSGI・Node.js等の常駐型プログラムに置き換わったが、Webサーバと外部プログラムの連携の原型として試験頻出。
理論的背景
CGIはRFC 3875で標準化された仕様で、Webサーバが環境変数(REQUEST_METHOD、QUERY_STRING、CONTENT_LENGTH等)と標準入力でリクエスト情報を外部プログラムに渡し、標準出力で受け取ったレスポンスをHTTPクライアントに返す。プロセス起動コストが大きく、リクエスト毎にfork/exec が走るためスケーラビリティに課題があった。
実務での使われ方
後継としてFastCGI(プロセス常駐型)、Apacheのmod_perl/mod_php(モジュール組込型)、Java Servlet、PythonのWSGI/ASGI、PHP-FPM、Node.js等のアプリケーションサーバ方式が主流。サーバレス(AWS Lambda・Cloudflare Workers)も「リクエストに応じて関数を呼び出す」というCGIの思想の現代的延長と捉えられる。
試験での位置づけ
基本情報のWeb技術分野で頻出。CGI・サーブレット・JSP・ASP・PHPの系譜を整理する。応用情報ではWebアプリケーションアーキテクチャ(3層構造・MVC・REST・GraphQL)が問われる。
選択肢の発展補足
HTMLは最新版のHTML5でセマンティック要素・Canvas・Web Storage・Web Worker・WebSocket等の機能が追加され、JavaScript(ECMAScript)との組合せでクライアントサイドの動的処理が高度化。MIMEはContent-TypeでWeb・メールどちらでも使われる横断的規格。URL/URI/URNの違い(URI⊃URL∪URN)も区別ポイント。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成22年度 秋期 問39/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。