|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
CGIプログラムの拡張子はcgiです。でも、これって何故?
CGIプログラムの拡張子はcgiとするのが普通ですね。 無料で配布されているCGIプログラムをダウンロードしてみると、みんな拡張子がcgiになっています。 私は、自分でCGIプログラムを作ろうと思うまで、長い間無料のCGIプログラムのお世話になりましたが、 みんな拡張子がcgiですから、「CGIプログラムの拡張子はcgiなんだー」 と、ごく普通に思っていました。
CGIプログラムの拡張子がcgiなのには、実はちゃんとした理由があるんです。 ウェブサーバーで、CGIプログラムの拡張子はcgiですと決められているからなんです。 決められているというのは、そのサーバーの管理者さんによって決められているという意味です。 例えば、ウェブサーバーで良く使用されるのはApacheですが、 Apacheの場合、httpd.confという設定ファイルで
<Directory "/"> Options +ExecCGI AddHandler cgi-script .cgi </Directory>
なんていう風に設定されているんです。 これは、「拡張子cgiのファイルはCGIプログラムですよ」という意味になります。 説明っぽく書くと「拡張子cgiのファイルはCGIプログラムですから、 中身をそのままブラウザに渡すのではなくて、CGIの仕組みに従って、 そのプログラムを実行してそのプログラムが 出力したものをブラウザに渡すようにしてください」とウェブサーバーに お願いしている感じです。 だから、CGIプログラムは拡張子がcgiなんです。 もしここで 「拡張子hogehogeのファイルはCGIプログラムですよ」と指定したら、 hogehogeがCGIプログラムになります。
拡張子cgiのファイルがCGIプログラムだと設定されているのは分かりました。 でも、いろんなプログラム言語でCGIプログラムを作ることができるっていう研究を前にしました。 それじゃあ、そのCGIプログラムがPerlで書かれてるっていうのはどうやってサーバーに知らせるんでしょう。 別のところで「Perlです!」ということを はっきりさせてやる必要がありますよね。 そうやって考えると、1行目のアレの意味がスッと理解できました。 それはまた次の話ですけども。
CGIのこととか考えなければ、 Perlで書かれたプログラムの場合、ファイルの拡張子をplにするっていうのが 普通みたいです。なので、拡張子plのファイルもCGIプログラムですっていうように ウェブサーバーで指定する流儀もあるみたいですね。この場合は拡張子はcgiでもplでも いいっていうことになりますが、でも一般的にはやっぱり拡張子cgiを使うみたいです。 ですから当サイトでは拡張子はcgiを使います。 で、拡張子plは他の用途に使うんだということで、これについてはそういう シーンが出てきたときに研究しましょう。
|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
| Copyright (c) 'PERL-LABO' All Rights Reserved. リンクフリーです。 |