Skip to the content.

最終更新日:2026年8月25日

まず結論

CGIとは、Webサーバが外部プログラムを呼び出し、その処理結果をブラウザへ返すための仕組みです。

CGIは、Common Gateway Interface の略です。

基本情報技術者試験では、Web関連用語を次のように切り分けると選択肢を消しやすくなります。

用語 何を表す? 判断の合図
CGI Webサーバと外部プログラムを連携させる仕組み 外部プログラムを実行、結果をブラウザへ返す
CSS HTMLやXMLの表示方法を指定する仕組み 見た目、文字色、配置、クライアント側で表示
PHP サーバ側で動的なWebページなどを生成するプログラミング言語 サーバサイド、動的ページ
SSI サーバ側でHTMLへ別の内容を差し込む仕組み include、サーバ側でHTMLへ埋め込む
Web API Web経由で他のプログラムに機能やデータを提供する窓口 API、JSON、データ連携、サービス間連携
HTML Webページの構造を書く言語 タグ、見出し、リンク

特に試験では、次の4つを短く覚えると便利です。

見た目・表示
→ CSS

Webサーバが外部プログラムを呼ぶ
→ CGI

サーバ側で動的ページを作る言語
→ PHP

サーバ側でHTMLに内容を差し込む
→ SSI

直感的な説明

Webページを「画面を作る仕事」と「サーバ側で処理する仕事」に分けて考えると分かりやすくなります。

ブラウザ側
HTML → ページの構造
CSS  → 見た目・レイアウト

サーバ側
CGI → 外部プログラムを呼び出す仕組み
PHP → 動的なページを作るプログラミング言語
SSI → HTMLに内容を差し込む仕組み

CGIは、Webサーバが外部の処理係に仕事をお願いする仕組みです。

ブラウザ
↓ 入力内容を送る
Webサーバ
↓ 外部プログラムを呼び出す
CGIプログラム
↓ 処理結果を返す
Webサーバ
↓
ブラウザに表示する

つまり、CGIは Webサーバと外部プログラムの橋渡し と考えると分かりやすいです。

定義・仕組み

CGIは、Webサーバが外部プログラムを起動し、リクエスト内容を渡して、処理結果を受け取り、ブラウザへ返すための標準的な仕組みです。

フォーム入力、検索、掲示板、アクセスカウンタなど、利用者の操作に応じて表示内容を変える動的なWebページで使われてきました。

CGIの流れは次のとおりです。

  1. ブラウザがWebサーバへリクエストを送る
  2. Webサーバが必要に応じて外部プログラムを起動する
  3. 外部プログラムが入力内容を処理する
  4. 外部プログラムがHTMLなどの結果を返す
  5. Webサーバがブラウザへレスポンスを返す

ただし、CGIはリクエストごとに外部プログラムを起動するため、処理効率が課題になることがあります。

現在のWebアプリケーションでは、FastCGI、アプリケーションサーバ、Webフレームワークなどの仕組みが使われることも多いです。

このテーマは、基本情報技術者試験の「ネットワーク」や「Webの仕組み」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

CSS・CGI・PHP・SSIの違い

この4つは同じWeb分野に出てきますが、役割はかなり違います。

用語 主に処理する場所 役割 試験でのキーワード
CSS クライアント側 HTMLやXMLの表示方法を指定する 表示、スタイル、色、配置
CGI サーバ側 Webサーバと外部プログラムを連携させる 外部プログラム、実行、結果を返す
PHP サーバ側 プログラムで動的なWebページを生成する サーバサイド、動的Webページ
SSI サーバ側 HTMLに別ファイルや実行結果などを差し込む include、埋め込み、Server Side Includes

CSS

CSS(Cascading Style Sheets)は、HTMLやXMLの要素を どのように表示するか を指定します。

HTML
→ 「これは見出し」

CSS
→ 「その見出しを大きくして中央に表示」

問題文に 「表示方法」「スタイル」「クライアント側で処理」 があれば、CSSを疑います。

CGI

CGIはプログラミング言語そのものではありません。

Webサーバ
→ 外部プログラムを呼び出す
→ 処理結果を受け取る

という 連携方法・インタフェース です。

PHP

PHPは、サーバ側で実行されるプログラミング言語です。

フォームの入力内容やデータベースの内容に応じて、表示するHTMLを変えるような処理に利用できます。

試験では、「サーバサイドのスクリプト言語」 が重要な判断語です。

なお、PHPは現在、公式には PHP: Hypertext Preprocessor と表記されます。「Personal Home Page」は初期の名称に由来する歴史的な説明なので、現在の正式な展開として覚えないようにします。

SSI

SSI(Server Side Includes)は、WebサーバがHTMLを返す前に、HTML内の指示を処理して別の内容を差し込む仕組みです。

HTML
↓
サーバでSSIを処理
↓
共通ヘッダーなどを差し込む
↓
完成したHTMLをブラウザへ返す

「Server Side」という名前のとおり、ブラウザ側の表示指定ではありません。

Web APIとの違い

CGIとWeb APIは、どちらもWebサーバやプログラムの連携に関係するので混同しやすいです。

切り分けの中心は、何をする仕組みか です。

用語 主な役割 判断の合図
CGI Webサーバから外部プログラムを呼び出す 外部プログラムを実行
Web API 他のプログラムへWeb経由で機能やデータを提供する API、JSON、サービス連携

例えば、問い合わせフォームを送信して外部プログラムで処理するならCGIの文脈です。

利用者がフォーム送信
→ Webサーバが外部プログラムを実行
→ 結果ページをブラウザに返す
→ CGI

一方、天気アプリがサーバから天気データを取得するような場面はWeb APIの文脈です。

アプリがAPIを呼び出す
→ サーバがJSONなどのデータを返す
→ アプリが利用する
→ Web API

科目Aでどう出る?

科目Aでは、Web関連用語の説明を選ぶ問題として出題されます。

判断するときは、次の表で切ります。

問題文の表現 選びたい用語
HTMLやXMLの要素をどのように表示するかを指定 CSS
Webサーバから外部プログラムを呼び出し、処理結果を返す CGI
サーバ側で動的なWebページを生成するプログラミング言語 PHP
サーバ側でHTMLへ別の内容を差し込む SSI
Webページの構造や文書を記述する HTML
Web経由で他システムに機能やデータを提供する Web API

特に、次の対比は頻出の切り分けとして覚えておきます。

「表示する」
→ CSS

「外部プログラムを呼び出す」
→ CGI

「サーバ側のプログラミング言語」
→ PHP

「サーバ側でHTMLに差し込む」
→ SSI

どんな場面で使う?

Web関連の問題では、まず ブラウザ側の仕事か、サーバ側の仕事か を確認すると選択肢を切りやすくなります。

ブラウザ側
├─ HTML:構造
└─ CSS:見た目

サーバ側
├─ CGI:外部プログラムとの連携
├─ PHP:プログラムによる動的処理
└─ SSI:HTMLへの内容の差し込み

この切り分けをしてから細かな役割を見ると、用語を丸暗記するより判断しやすくなります。

よくある誤解・混同

よくある混同 正しい切り分け
CSSをサーバ側のプログラムだと思う CSSは表示方法を指定し、基本的にはブラウザが解釈する
CGIをプログラミング言語だと思う CGIはWebサーバと外部プログラムの連携方法
PHPとCGIを同じものだと思う PHPは言語、CGIは外部プログラムとの連携方法
SSIをCSSのような表示指定だと思う SSIはサーバ側でHTMLへ内容を差し込む仕組み
PHPを現在も「Personal Home Page」の略と覚える 現在の公式表記は PHP: Hypertext Preprocessor

試験では、「どこで処理するか」+「何をするか」 を見るのがコツです。

クライアント側 + 見た目
→ CSS

サーバ側 + 外部プログラム呼び出し
→ CGI

サーバ側 + 動的ページを作る言語
→ PHP

サーバ側 + HTMLに内容を差し込む
→ SSI

まとめ(試験直前用)

  • CSS:HTML/XMLの 表示方法 を指定する
  • CGI:Webサーバと 外部プログラムを連携 させる
  • PHP:サーバ側で動く プログラミング言語
  • SSI:サーバ側でHTMLに 内容を差し込む
  • HTML:Webページの 構造 を記述する
  • 迷ったら「ブラウザ側かサーバ側か」「表示か処理か」で切り分ける

© 2024-2026 stemtazoo. All rights reserved.