CGIは、Common Gateway Interfaceの頭文字で、WWWクライアントとWWWサーバ上で動作するプログラム間のデータのやりとりをする仕掛けを指しています。この仕掛けは、通常プログラムを作成することによって作られます。
ホームページを見る仕掛けをもう少し詳しく説明すると、次の2通りがあります。
決められた(HTMLファイルに書かれたまま)を表示する場合は、1で十分ですが、HTMLでは記述できない処理をさせた結果を表示したい場合(例えばデータベースを検索しその結果を表示したい場合など)は、2の方法を取る必要があります。
では、CGIプログラムは、WWWクライアント、WWWサーバのどちらのコンピュータで実行されるのでしょうか? これには、WWWクライアントで実行されるプログラム言語と、WWWサーバで実行される言語の2通りがあります。 例えば、次のような言語があります。
CGIが動いてページを表示する場合のコンピュータ間の情報の流れを以下に示します。
例えば、CGIプログラムが以下のようなPerlプログラムであれば、
#!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<HTML>\n"; print "<HEAD><TITLE></TITLE></HEAD> \n"; print "<BODY>\n"; print "<H1>こんにちわ。CGIの見本です。</H1>\n"; print "</BODY>\n"; print "</HTML>\n"; |
その結果として次のようなHTML文が出力され、その内容がWWWクライアントに送信され、これによってこのような画面が表示されます。
Content-type: text/html <HTML> <HEAD><TITLE></TITLE></HEAD> <BODY> <H1>こんにちわ。CGIの見本です。</H1> </BODY> </HTML> |