Chap.3 CGI基礎編

こちらでは、御自分のホームページで「CGIを使いたい!」という方に、その方法を解説します。
CGIの導入により、「見るだけ」のページから「参加出来る」ページへとすることが可能となります。
まずは実際の設置の前に、CGIの基本を学んでみましょう。

T.CGIとは?

U.CGIの仕組み

V.CGIプログラムとは?

W.パーミッションとは?

X.UNIXについて

Y.telnetについて

Z..htaccessファイルについて

[.SSIについて

\.これだけは確認しよう



T.CGIとは?

数々のホームページを見ていると、こちらから送った情報をもとに、
その実行結果を返してくれるページを、誰しも一度は見た事があることと思います。
有名なところでは、「YAHOO!」等の検索エンジン。こちらが指定したキーワードを満たす、該当ページを検索結果として表示してくれます。
また、「アンケート送信フォーム」「チャット」「掲示板」なども、全てCGIを使ったページです。
このように、WEB上で多彩な処理を出来るのがCGIです。
★CGI [common gateway interface] ★ WWWサーバ上のHTMLドキュメントから、外部のプログラムやスクリプトを呼出すためのインタフェース。


U.CGIの仕組み

では、このCGIはどのように機能しているのでしょうか?
通常のHTMLファイルを見る動作と、CGIを機能させる動作について、
下記の図解を参考にしてみてください。

1.HTMLファイル閲覧の動作

1.アクセス
あなたのブラウザから、「http://〜〜〜」というURLを送信して、見たいファイルをサーバーへ探しに行く。

2.データを送る
サーバーは指定されたファイルを内部から探し出し、適合したファイルをブラウザへ送信する。


2.CGIプログラム実行の動作

1.アクセス
あなたのブラウザから、「http://〜〜〜」というURLを送信して、実行するCGIファイルをサーバーへ探しに行く。

2.実行
サーバーは指定されたCGIプログラムを内部から探し出し、入力されたデータを適合したCGIファイルへ送信する。

3.実行結果
CGIプログラムは、予め設定された処理を行い、結果をサーバーへ返す。

4.データを送る
CGIプログラムの実行結果を受け取ったサーバーは、その内容をブラウザへ送信する。


V.CGIプログラムとは?

上記のような流れで、CGIプログラムは動作しております。
では、CGIプログラムとはどのようなものなのでしょうか?。
一言で言うならば、「各種命令文が書かれたテキスト文書」です(笑)。
どこかで、CGIプログラムファイル (ファイル名の拡張子が [ .cgi ] と、なっているものが多いです)
を入手したことがある方は、「メモ帳」で中身を開いてみましょう。
各種雑多な、タグのようなものが書かれていることに、気がつくことでしょう。
これがCGIプログラムの本体です。

CGIを書く言語には 「C言語」 などもありますが、
現在最も多く使われいるのものは 「Perl(パール)」 というものです。

[ Perl の特徴 ]
ここは読み飛ばしても構わないのですが、一応、参考の為に記述しておきます。

1. 初心者にも比較的わかりやすい
どのような言語であっても、文法が簡単な方が運用しやすいでしょう。

2. 高度なスクリプト言語である
正確にはPerlはプログラミング言語でありません。
プログラミング言語ほど、高度な処理が出来ないものとして「スクリプト言語」と呼ばれます。
しかし、実際Perlにはプログラミング言語と同等な機能を有しています。

3. コンパイルが不要
プログラミング言語を使用して書かれたソースは、ある程度の知識がある方なら、見るだけでその内容がわかります。
しかし、実際にはそのままではPCやサーバー上では動作しません。
人間が見てわかる言葉も、PCにとっては、全く意味をなさない言葉の羅列なのです。
よって、本来ならここで、PCにもわかるように「コンパイル(翻訳)」という、作業が必要になってくるのですが、
Perlの場合には、この「コンパイル」を自動的に行ってくれます。
実行の度に自動的にコンパイルをするので、若干処理速度は落ちますが、通常に使う分には気にならない程度ですし、
なによりコンパイル作業の手間が省けるので、プログラム実行までの作業が、ずっと楽になります。
★コンパイルが必要な言語を 「コンパイラ型言語」 、不要なものを 「インタプリタ型言語」 と呼びます。

4. 使用者が多い
多数決の原理です(笑)。
使っている方が多いという事は、それだけ利用範囲が広まりますし、
いただいたソースを改造する際や、わからないことがあった時に、
その方面の知識がある方も多いと言うことになります。

Perlによるプログラミングについては、とてもここでは書ききれませんので、
詳しく知りたい方は、Perlに関する書籍や、他のHPを参考になさって下さい。
ちなみに現在のPerlの最新ヴァージョンは 「 Perl5 」 になっております。

次へ進む

HOME
miyappu@remus.dti.ne.jp