§1 CGIとは

■なに?
“しーじーあい”と読み、Common Gateway Interfaceの略である。 Webサーバーから様々なプログラムを実行させるために必要な 両者間のやりとりを決めた約束事で、ほとんどのWebサーバーで利用できる。

■どんな約束事?
ブラウザからデーターが送信され、HTMLや画像などの結果を受取るまでが 一連の流れである。その細かい流れが図の通りであり、(3)〜(5)がCGIとして 決められた約束事である。

(1)ブラウザに表示されているフォームにデーターを入力して送信ボタンをクリックする。
(2)WebサーバーがURLとフォームデーターを受取り、URLを見てCGIかどうか判断する。
(3)受取ったデーターを外部プログラムが利用できる場所に一時的に保存する。
(4)URLで指定された外部プログラムを起動する。
(5)外部プログラムが受取ったデーターを処理して、HTMLや画像などを Webサーバーに返す。
(6)WebサーバーはCGIから受取ったHTMLまたは画像データーをブラウザに送る。




■どんなプログラム言語
CGIはほとんどのプログラム言語で作成でき、CGIの約束事に従って作成されたプログラムをCGIプログラム(CGIと呼ぶ場合も多い)と呼ぶ。 Webサーバーとして使われることが多いUNIXに標準で入っていること、簡単に作れる、文書を操作する機能が豊富であるなどの理由で、 perlはCGIに適している。

■できないこと
▼ブラウザに何も返さないプログラム
フォームの送信ボタンをクリックして、何も表示されなかったら利用者は 困るし、HTMLや画像を返すというCGIの約束事にも反する。
(例)送信ボタンクリック後、メールを送信するだけのプログラム。

▼利用者からのアクセスなしに実行開始されるプログラム
URL入力やフォームの送信ボタンのクリックなどの利用者からのアクセスが まったくなくて実行されるプログラムもCGIではない。
(例)夜中の2時にログのアクセス解析を行うプログラム。

▼処理時間が長いプログラム
これはCGIプログラムとして作成できるがあまり適さない。処理時間が 長いと結果が表示されるまでの時間がかかり、 待切れなくなった利用者が ブラウザを閉じてしまうと、CGIの処理は途中で打ち切られてしまうからだ。
(例)送信ボタンクリック後、100通のメールを送信して、ありがとう画面を表示するプログラム。


 
メニューへ
次へ