CGIの概要

トップ > とほほのCGI入門 > CGIの概要

目次

CGIとは?

CGI とは Common Gateway Interface の略です。通常のページでは、あらかじめ用意された HTML ページを表示するだけですが、CGI を用いることにより、例えば、以下のようなページを作成することができるようになります。

CGIの処理の流れ

CGI 処理の流れは次のようになります。

Web
ブラウザ
-要求→
←結果-
Web
サーバ
-起動→
←結果-
CGI
プログラム

(1) ブラウザがWWWサーバーに要求する
 ブラウザは特に「CGI を起動する」とは意識しません。<a href="~"> や <img src="~"> や <form action="~"> で記述されたアドレス(URL)を単にサーバーに要求するだけです。

(2) サーバーが CGI プログラムを起動する
 サーバーは受け取った URL を見て、これが CGI プログラムかどうか判断し、CGI プログラムであるならこれを起動します。判断の基準は拡張子が .cgi であるとかですが、サーバーの設定やプロバイダによって異なります。CGI をサポートしていないサーバーやプロバイダもあります。

(3) CGI プログラムは結果を返す
 CGI プログラムは標準出力に実行の結果を書き出します。CGI プログラムの作り方次第で、複数のファイルを読み込んで連結したり、カウンター値を演算してその結果を返すことができます。

(4) CGI プログラムの結果をブラウザに返す
 CGI プログラムが書き出した内容は、WWW サーバーを経由して、Web ブラウザに送信され、Web ブラウザはこれを表示します。

CGIスクリプト

「CGI」とは WWW サーバーがプログラムを起動する際の起動方法(環境変数の名前や値)を定めた仕様の名称です。この仕様に基づいて作成されたプログラムを「CGIプログラム」と呼びます。

「CGIプログラム」のうち、Perl、awk、sh などコンパイル作業が不要なスクリプト言語で記述されたものを「CGIスクリプト」と呼びます。CGI プログラムは Perl で記述されたものが多いですが、環境変数と標準入力を参照できて、結果を標準出力に書き出せるものであれば、C言語、C++言語、VisualBasic でも何でも構いません。

本書では特に Perl を用いた CGI を中心に説明していきます。Perl に関する詳細は「とほほの perl 入門」を参照してください。


Copyright (C) 1996-2003 杜甫々
最終更新日:2003年11月26日版
http://www.tohoho-web.com/wwwcgi1.htm