CGIの意義
ウエブでは、クライアントコンピュータのリクエストに応じて、クライアントコンピュータにウエブドキュメント(ホームページ)を
表示するデータを返す事が、サーバ・コンピュータシステムの働きですが、要求されたページの画面の内容を決定する
には、様々な情報が有ります。
CGIは、サーバサイドで、ウエブページからのリクエストによって起動するプログラムなので、
ウエブというホームページだけの仮想世界から、サーバコンピュータを介して、実際の現実世界に対して
操作を行ったり、現実世界の情報を収集して、その情報(状態)に元づいて、次の画面の内容を変化させる事が
できます。
この様子を示したものが下図です。
この関係を、画面1->画面2->画面3-> ・・・ と繰り返して行くのがホームページであり、CGIです。
外界とは、ホームページ(厳密には、クライアントとやり取りされるデータ)以外の、機器や情報です
(厳密には、ソフトの観点からすれば、他の(CGI以外の)ソフトウエア)。
典型的には、サーバ側に有るデータベース、時計などです。
CGIは、単純な形のものも、複雑な形のものも有ります。
PERL、RUBY、python、等は、言語プロセッサ(インタプリタ)とソースコードで構成されます。
Servlet(サーバサイドJava)では、ServletコンテナとJava仮想マシンとJavaのPコードで構成されます。
これから述べるC言語CGIでは、CGIの実行形式が構成要素という、最も単純な構成です。