CGI とは Common Gateway Interface の略です。通常のページでは、あらかじめ用意された HTML ページを表示するだけですが、CGI を用いることにより、例えば、以下のようなページを作成することができるようになります。
CGI 処理の流れは次のようになります。
|
−要求→ ←結果− |
|
−起動→ ←結果− |
|
(1) ブラウザがサーバーに要求する
ブラウザは特に「CGI を起動する」とは意識しません。<a href="〜"> や <img src="〜"> や <form action="〜"> で記述されたアドレス(URL)を単にサーバーに要求するだけです。
(2) サーバーが CGI プログラムを起動する
サーバーは受け取った URL を見て、これが CGI プログラムかどうか判断し、CGI プログラムであるならこれを起動します。判断の基準は拡張子が .cgi であるとかですが、サーバーの設定やプロバイダによって異なります。CGI をサポートしていないサーバーやプロバイダもあります。
(3) CGI プログラムは結果を返す
CGI プログラムは標準出力に実行の結果を書き出します。CGI プログラムの作り方次第で、複数のファイルを読み込んで連結したり、カウンター値を演算してその結果を返すことができます。
(4) CGI プログラムの結果をブラウザに返す
CGI プログラムが書き出した内容は、 サーバーを経由して、Web ブラウザに送信され、Web ブラウザはこれを表示します。
「CGI」とは サーバーがプログラムを起動する際の起動方法(環境変数の名前や値)を定めた仕様の名称です。この仕様に基づいて作成されたプログラムを「CGI プログラム」と呼びます。
「CGI プログラム」のうち、Perl、awk、sh などコンパイル作業が不要なスクリプト言語で記述されたものを「CGI スクリプト」と呼びます。CGI プログラムは Perl で記述されたものが多いですが、環境変数と標準入力を参照できて、結果を標準出力に書き出せるものであれば、C言語、C++言語、VisualBasic でも何でも構いません。
本書では特に Perl を用いた CGI を中心に説明していきます。Perl に関する詳細は「 perl 入門」を参照してください。
<< PAGE TOP >>