■■■■■■■■■■■■■■■■■■■■
CGI講座・リプレイ
-第1講- そもそも「CGI」って何よ?
■■■■■■■■■■■■■■■■■■■■
■1、はじめに■
この講座は去る4月29日、浜松市某所で開かれたCGI講座の加筆・修正版である。
当日は講師が遅刻したり、テスト環境の作成をミスったため
CGIがうまく動かないなどの不具合があった上に、
本来ならば3週間かけてじっくりやる内容をたかだか6時間前後で消化したため
何が何だかわからないまま終わってしまった人や
参加したかったけど都合がつかなかった人もいるのではないかと思う。
そこで、それらの人たちのためにカウンタ作成で一気に駆け抜けた6時間を
分解して少しずつ復習していこう、というのがこの講座の趣旨である。
今回の講座を始めるに当たりまずは次の2点を確認しておきたい。
・HTMLの知識がある(作成ソフトがなくてもWebページが作れる程度)
・基本的なプログラミングの用語(変数など)がわかる
とりあえずはHTMLの知識があれば十分なのだが、
プログラミングの知識や経験があると心強い。
■2、CGIとは?■
「こもん・げーとうぇい・いんたーふぇーす」の略称。
決して「こんぴーたー・ぐらふぃっくすって・いいねー」の略ではない。当たり前か。
CGIの特徴を一言で言うのであれば「常に変化のあるWebページ」だろうか。
例えばアクセスカウンタ。
誰かがそのページを見るたびに表示される数値は増え続け、
前回見たときと同じ数字が表示されるということはない。
例えば掲示板。
誰かが書き込みをすればその内容はすぐに表示され、
毎日書き込みが行われればその内容は絶えず変わるだろう。
(もっともほとんど誰も書き込まない掲示板ならいつ見ても同じかもしれないが)
つまり端的に言ってしまえば
HTMLは「いつまでたっても内容が変わらない壁に貼ったポスター」
CGIは「絶えず内容の変わる壁にかけられたテレビ」
とも言えるだろう。
■3、CGI VS JavaScript■
かなりWebページ作成の勉強をした人ならば
「常に変化のあるページならばJavaScriptでもできるのではないか?」
と考えることだろう。
確かに動きのあるページならばJavaScriptでも作ることはできる。
訪問者の名前とか訪問回数もCookieという技術で保存することもできる。
しかしCookieでデータを保存する場合次のような問題が残る。
・新しい内容が書き込まれると以前の内容は消去される
・自分のパソコンとのやり取りしか保存できない
・あまり長い内容を保存するには向かない
JavaScriptの場合、保存できるのは
「自分のパソコンと訪問したページとのやりとり」のみであり、
他の誰が何人同じページを訪問したとしても
そんなことは知ったことではないのである。
アクセスカウンタを例に挙げれば
自分がそのページに何回訪れたか、それはわかる。
だが、他の人とあわせて何人の人がそのページを訪れたのか、
それをJavaScriptで表示しようとするのは不可能である。
つまりJavaScriptを使ったデータのやり取りは
自分のパソコンと訪問するページの関係、「一対一」の関係しか表現できない。
これに対してCGIのデータのやり取りは
データ自体がCGIのあるサーバに保存されるため、自分の記録だけでなく
他の人の記録も保存することができる。
自分を含めたすべての訪問者と訪問するページの関係、
「一対多」の関係が表現できる。
この「一対多」の関係が表現できることによって初めて
「アクセスカウンタ」や「掲示板」を作ることができるのである。
第2講につづく
---------------------------------------------------------------------
発行人: 塚田 伊助
発行所: 伊助の鍛錬場 http://isukenet.s20.xrea.com/
連絡先: isuke_tukada@hotmail.com
もどる