■ What is CGI?(CGIとは何か?)
・CGIとは何か?
CGIを略さずに言えば、Common Gateway Interface。
それなりに訳してみると「普遍的な、ネットワーク上で媒体やプロトコルが異なるデータを相互に変換して通信を可能にするインターフェース」。余計に分かりませんね。
思い切って私なりに意訳すると「サーバーとユーザー間の橋渡しをする方法」となります。
そうCGIと言うのは「方法」なのです。
・CGI?CGIプログラム?
しかし、CGIといえば。まず「カウンター」「掲示板」といった「CGIプログラム(または、CGIスクリプト)」を思い浮かべてしまうと思います。
そして、「CGI設置」とか「CGI配布」といった言葉が普通に使われていることでも分かるように、「CGI」=「CGIプログラム」と捕らえられている向きが多いようです。
実を言えば、私もこの原稿を書くまではそうでした。
一応、知識としては「CGI」とは「方法」であると知っていたのに、なんとなく「CGI」=「CGIプログラム」と捕らえてしまっていたのです。
なぜ、このようになってしまったかと考えてみると、おそらくホームページ作成の方面から入った方にこのような誤解が生じ、それが様々なホームページや書籍を通して蔓延してしまったのだと思います。
ホームページを作成していって、次にインタラクティブな仕組みを組み込もうというとき「CGIを使う」とか「CGIをつける」とか言うと思います。これがネックです。「CGIを使う」ならいいほうで「CGIをつける」は完全にCGIを「物」扱いしています。おそらく、「CGIを使う」といっている方でもCGIを「物」扱いしている方が多いように思います。
例えばこんな文があります。「フリーの『CGI』をダウンロードしてきて、自分なりに『CGI』をカスタマイズして、レンタルサーバーに『CGI』をアップロードして、『CGI』のパーミッションを変更する」意味は分からなくても、これからCGIの勉強を始めようという方がこれを見て「CGIという『物』がある」と思ってしまうのは当然です。
プログラムからはいった方には、こういった誤解は無いように思います。
一応、現在ではCGIとCGIプログラム(CGIスクリプト)をまとめて、「CGI」で通っているようです。実際、CGIで目に見える部分はCGIプログラム(CGIスクリプト)を動かした結果です。ですから、それをさして「広義の「CGI」と呼んでもいいと思います。
ここでは、出来るだけCGIとCGIプログラム(CGIスクリプト)はわけていこうと思います。が、たまに広義の「CGI」を使ってしまうこともあると思いますが、それはご容赦を。
・PerlはCGIスクリプト
ここでは、CGIプログラムを扱う際に、主に「Perl」というスクリプト言語を使用していくことになると思います。
現在、流通しているCGIプログラムでもっとも多く使われているのは「Perl」だと思います。「CGI(CGIプログラム)といえばPerl」というくらいに普及しています。私も「Perl」から始めた一人です。
しかし、CGIプログラムを作ることの出来るのは何も「Perl」に限りません。ざっと調べただけでも「Perl」「awk」「VB」「C」「C++」「ASP」「シェル」(?)「BASIC」「PASCAL」などなど。要はサーバ上で動作するものなら種類は問わないということらしいです。
でも、CGIプログラムの勉強をはじめるならやはり「Perl」からはじめましょう。
なぜなら、先に書いたように、現在流通しているCGIプログラムで最も多いのが「Perl」です。当然、サンプルも関連書籍・ホームページももっとも豊富にそろっているのが「Perl」なのです。
ただし、Perlはスクリプト言語ですので、Perlで作られた「CGIプログラム」は「CGIスクリプト」というのが正しいです。
- | The basics of CGI | Why is CGI ? |
□新着
- 2016/04/14
ページ復旧 - 2007/10/06
Story Maker始動 - 2007/06/13
久々の更新 - 2007/01/06
logちょっとバージョンアップ - 2006/07/27
ホームページのPerl 終了
□Topics
- 2016/04/14
サイト復旧 - 2007/10/06
StoryMaker始動 - 2007/06/13
今後にぜひご期待を! - 2006/06/26
今後について - 2006/06/15
環境の変化