PumpkinNet CGI工房へようこそ。
スクリプト講座-Introduction


CGIってなに?
CGIとは、Common Gateway Interfaceの略です。
WEB サーバでプログラムを実行するための仕組みで、WEB サーバプログラム(たとえば apache や IIS など)と
実行したいプログラム(たとえば掲示板など)とのインターフェイスを定めたものです(詳細については RFC を参照のこと)
一般に CGI と言った場合、CGI で実行されるプログラムのことを指すようです。

サーバーサイドだけでやるもののことを
SSIと言います。Server Side Includeの略です。
WEB サーバがクライアントに HTMLを送る際、自動的にデータをHTMLデータ内に埋め込んだりする
仕組みのことを、SSI と言います。
(例)
index.htmlファイルに<!--#include virtual="/cgikoubou/include/lectleftmenu.html"-->
などと書いてWebサーバーにアップロードしておきます。
クライアント側から Webサーバにindex.htmlのデータを送ってくれ、という要求があると、
この<!--#include virtual="/cgikoubou/include/lectleftmenu.html"-->が、Webサーバーで解釈され、
そのコマンドのところに自動的に読み込まれ、クライアント側にデータが送られます。

ちなみに、このページでもSSIを使って表示させています。
これが左メニュー これがこのhtmlソース サーバー上のHTMLファイルにはテーブルのところに先ほどのSSIコマンドが入っていますが、
実際にクライアント側に送られるデータには、Webサーバーが自動的にファイルを読み込んでくれて、
今のページがちゃんと表示されているわけですね。

いつどこで、どう使う?

SSIでCGIを実行させるコマンドは<!--#exec cmd="nantoka.pl"-->です。
SSIのexecが実行できるサーバーは限られていますが、これが使えるならば、
htmlページにアクセスカウンタを表示(アクセスカウンタのCGIを起動させてhtmlデータに埋め込む)させたり、
topページでチャットルームの参加者状況を表示(参加者状況表示のCGIを起動させてhtmlデータに埋め込む)させたり..
など、いろいろと便利に使えるようになります。

ただし、一般的なプロバイダではSSIのexecは使えないようになっているのがほとんどです。
お使いのサーバーによって変わってきますので、使えるのかどうなのかは要チェック。
※SSIをexecだけではなく、一切許可していないサーバーもあります。

このページではSSI(で起動するCGI)とCGI(一般的に動かせるCGI)を両方取り混ぜてやっていくつもりです。