The basics of CGI

■ 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
    環境の変化