CGI(Common Gateway Interface)とは、Webサーバーが外部のプログラムを呼び出して、その結果をWebページとして表示する仕組みのことです。これにより、いつ見ても同じ内容の静的なページではなく、アクセスするたびに内容が変わる動的なページを作れます。「シージーアイ」と読みます。
現実世界でいえば、レストランの「ホールとキッチンをつなぐ受け渡し口」のようなものです。お客さん(利用者)の注文をホール係(Webサーバー)が受け取り、受け渡し口(CGI)を通じてキッチン(プログラム)に伝え、できあがった料理(結果)を再び受け取ってお客さんに届けます。CGIはサーバーとプログラムの橋渡し役なのです。
CGIの役割
CGIは、Webサーバーとプログラムの間で情報をやり取りするための「取り決め(インターフェース)」です。
- 動的なページを生成
アクセスごとに内容が変わるページを作れます。 - 入力データの処理
フォームに入力された情報を受け取り処理できます。 - プログラムを選ばない
PerlやPythonなど、さまざまな言語で書けます。
静的ページと動的ページ
Webページには、あらかじめ用意された内容を表示する「静的ページ」と、状況に応じて内容が変わる「動的ページ」があります。CGIは後者を実現する技術です。
| 種類 | 特徴 | 例 |
|---|---|---|
| 静的ページ | 誰が見ても同じ内容を表示する。 | 会社の案内ページ |
| 動的ページ | 状況に応じて内容が変わる。CGIで実現。 | 掲示板・検索結果 |
CGIの現在の位置づけ
CGIは古くからある技術で、かつては掲示板やアクセスカウンター、問い合わせフォーム、日記システムなどに広く使われていました。個人サイトが盛んだった時代には、無料で配布されるCGIプログラムを設置して機能を追加するのが一般的でした。ただし、アクセスのたびにプログラムを一から起動するため大量のアクセスには不向きで、現在はより効率的な方式(PHPなど)が主流になっています。それでもCGIは動的なWebページの原点となった重要な技術であり、Webのしくみを理解するうえで欠かせない基礎知識として、今も学ばれ続けています。

コメント