|  | 
予備知識もなしにいきなり「CGIって何?」と聞かれて答えられる人は恐らくいないでしょう。
 解説本などには「"Common Gateway Interface"の略でうんぬん・・・」とかなんとか書かれています。
 ここを見に来る人はそんなことよりもCGIではどんなことができて、どう使う物かが知りたいのではないかと思います。
 
 CGIの歴史なんかはどうでもいいことです。
 ですから、ここではそんなことは書きません。
 
 さて、皆さんがいろんなホームページを見るときにはどういった手順でアクセスしますか?
 たいていの人はWebブラウザ(NetscapeやIEなど)でURLを入力して、
それで表示される物を見るという方法を採っておられるでしょう。
 
 では、その仕組みについてちょっと考えてみましょう。
 ※難しいところは簡略化して書きます(笑)
 
 1)URLを入力します。(当たり前ですね(^^; )
 2)ページが表示されます。(当たり前ですね(^^; )
 
 さぁ、すごく当たり前です(爆)どうしましょう (^^;;;
 
 では、もう少し詳しく見てみましょう。
 
 1)URLを入力します。
 2)ブラウザは入力されたURLからWebサーバーのIPアドレスを割り出して
 そのサーバーに対してHTTPクエリーを発行します。
 3)Webサーバーは受け取ったクエリーを解析して、HTTPヘッダと共に
 レスポンスを返します。
 4)ブラウザは受け取ったレスポンスをHTTPヘッダを元に解析して、その結果
 を画面に表示します。
 
 ちょっと専門的に(笑)なりましたね(^^)
 
 これを実際の世界に置き換えて見ましょう。
 
 あなた(にブラウザの機能を搭載したもの(笑)) → 太郎君
 Webサーバー → 次郎君
 として考えましょう。
 
 状況:
 次郎君はケーキを持っている。
 太郎君と次郎君はテーブルを挟んで向かい合って座っています。
 
 ・太郎君は「ケーキがほしいな」と思いました。(1)
 ・ケーキを持った次郎君が向かいに座っていたので、(IPアドレスの割り出し)
 太郎君は次郎君に「そのケーキちょうだい」といいました。(2)
 ・次郎君は太郎君がケーキをほしがっているのが判ったので(HTTPクエリーの解析)、
 「これはケーキだよ」(HTTPヘッダ)といいながらケーキを太郎君に渡しました。(3)
 ・太郎君はそれがケーキだというのが判ったので(HTTPヘッダを元に)
 そのケーキをフォークで食べました(解析→表示)。(4)
 
 先ほどのWebブラウジングの例とよく似ていますよね(^^) カッコ内が対応するところです。
 
 これがブラウザでホームページを見るときの仕組みですがCGIだとどう違うのでしょうか?
 
 実はそんなに難しいものではないんです。
 
 先ほどの例では次郎君はケーキをそのまま渡しました。
 これが普通の方法ですね。
 
 CGIだと、たとえば太郎君が「ケーキを半分ちょうだい」と言ったら
次郎君は持っているケーキを半分に切り分けてから太郎君に渡すという動作をさせたり、
「チョコレートをちょうだい」と言われたら引き出しから板チョコを出してきて適当な大きさに割ってから、
それを紙に包んで渡すという動作をさせたりできるのです。
 
 つまり、サーバー側でなんらかの処理をさせる訳ですね(^^)
 
 しかも次郎君は太郎君に内緒で記録を付けているかもしれませんし、
こっそり誰かに電話を掛けて「太郎君にケーキを半分あげた」
と報告しているかもしれません。
 
 CGIではそんなこともできるのです。(これはアクセス解析などの仕組みですね)
 
 >CGIの部屋へ戻る<
 >CGIとSSI
 
 |  |