§0.3 CGIの仕組み


作成日:2001/05/11(金)

ネットサーフィンをしていると掲示板やチャット、アクセスカウンターなどを見かけることがあります。 これらの機能を利用して楽しんでいる人も多いと思います。 このようなサイトはアクセスするたびに、あるいは書き込みをするたびにその内容が変化していきますね。 これらの動きのあるページはCGI(Common Gateway Interface)という機能を使用して動いています。 そしてこのCGIを使うのに、今一番ポピュラーな言語がPerlというわけです。 このサイトの後のほうでもPerlを使用したCGIスクリプトについて取り上げています。
 ではCGIは普通のHTML文書とどう違うのでしょうか。 この節では、HTML文書とCGIの違いを見ながらCGIの仕組みについて簡単に説明していきます。

まず、通常のHTML文書がどのように表示されるかを見てみましょう。 HTML文書はWWWサーバーに保管されています。 そしてサイトを訪れた人がブラウザのアドレスバーにURLを入力したり、リンクボタンを押すと、ブラウザはWWWサーバーにURLを渡します。 WWWサーバーは受け取ったURLをもとにHTML文書を探し出し、見つかったらブラウザにそれをそのまま渡します。 そしてブラウザは受け取ったHTML文書を表示するわけです。

HTML文書を表示する仕組み

一方、CGIの方はというと… これは順を追って説明しましょう。

(1)ユーザからのリクエスト
 ユーザがサイトを訪問したり、掲示板に書きこんで送信ボタンを押したりすると、ブラウザはそこに設定されているCGIスクリプトのURLをWWWサーバーに渡します。

(2)CGIスクリプトの起動
 URLを受け取ったWWWサーバーはファイルの拡張子を見てそれがCGIかどうか判断し、もしそうならそのスクリプトを起動します。 判断基準は拡張子が.cgiであるというのが基本ですが、これはサーバの初期設定で(.htaccessというファイルを書きかえることで)変更できることもあります。

(3)CGIスクリプトの実行
 起動したCGIスクリプトはいろいろな演算を行い、その結果をWWWサーバーに返します。

(4)結果をブラウザに返す
 最後にWWWサーバーはCGIから受け取った結果をブラウザに返し、ブラウザはそれを表示します。

CGIの動作の流れ

これでCGIの動作の流れは大体わかったと思います。 ところで、CGIは通常インターネット上で動作します。 今後、このサイトでもいくつかのCGIスクリプトを作りますが、そのたびにホームページにアップロードして動作確認するのはめんどくさいし、お金もかかります。 そこで自分のパソコンをWebサーバーにしてしまいましょう。 それには中田昭雄さんが作成されたAn httpd v1.32fというソフトを使います。 中田さんのホームページからダウンロードでき、インストールや初期設定の方法なども詳しく書いてありますので、そちらをご覧ください。

さてこれでようやく準備も終わりです。 次の章からいよいよPerlの勉強をはじめましょう。


「§0.2 ソフトウェアの準備」へ 「§1.1 最初のスクリプト」へ
ソフトバンク パブリッシング株式会社

Copyright (C) can All Rights Reserved
e-mail:ishiki@mrj.biglobe.ne.jp