[Up] [Next]
[Previous]
CGIとは
CGI (Common Gateway Interface)はWWWサーバとサーバ上で動作するスクリプ
ト/プログラムとのインタフェースで、HTMLの記述だけでは不可能な仕事を行
なわせる場合に用いられる非常に強力な機能です。CGIはWWWクライントとの間
で対話的な処理を行わせる場合、ページを表示する際に予め何等かの処理を行
ないたい場合、他のサーバプログラム(データベース等)に処理を依頼する場合
等に利用されます。
CGI を利用するサーバ環境としては扱えるプログラミング言語も豊富であるせ
いか、主にUNIX系が好まれます。WHTTPD (ウィンドウズ用HTTPD) や MacHTTP
(マッキントッシュ用HTTPD) でも非常に便利なCGIアプリケーションがありま
すし、特にMacHTTPの場合はAppleScriptでCGIスクリプトを記述することがで
きます。
CGIの処理の流れは、ブラウザからのフォーム形式等によりデータをhttpdサー
バに送出し、CGI スクリプトに渡します。そして、CGIスクリプトは処理を行
い、通常はHTML形式で結果を送出し、ブラウザに表示します。もちろん、ブラ
ウザからの要求なしに実行される場合もあります。
CGIスクリプトの処理の流れ
- クライアントはHTTPサーバに接続し、要求 (リクエスト)を送ります。
- サーバは環境変数を読み込み、クラアイントから受け取ったエンティ
ティボディにあるデータを渡します。
- HTTPサーバはCGIプログラムを動作させます。
- CGIプログラムは実行し終った後、HTTPサーバに結果(HTML)を返します。
- HTTPサーバはクライアントに応答を送ります。
なお、CGIにもHTTPのプロトコルバージョンと同じようなバージョン番号があ
ります。HTTP/0.9 ではCGI/1.0、HTTP/1.0ではCGI/1.1が使われています。サー
バが使用できるCGIバージョンの関係を下表に示します。
サーバ名 | バージョン | CGI/1.0 |
CGI/1.1 |
CERN httpd | < 2.15 |
N | N |
2.15-2.17 | Y | N |
> 2.17 | Y | Y |
NCSA httpd | 1.0 |
N | N |
1,0, 1.1 | Y | N |
>1.1 | Y | Y |
Apache | Any | Y |
Y |
Netscape Netsite | Any | Y |
Y |
[Up] [Next]
[Previous]