ホームページに入力欄やボタンがあるのをよく見かけるが、あれはFORMというHTMLのタグで表示されている。 それはサーバに受け渡されて処理されるが、サーバ側で動く仕掛けは一般的にはCGIやSSIという仕組みで実現される。
最近はネットスケープやマイクロソフトなどのサーバ製品ではCGIやSSIの他に独自の仕掛けを持つようになってきているが、プロバイダーのサーバで使える仕掛けは今のところCGIやSSIくらいしかないところがほとんどだ。 もっとも、そのCGIやSSIもセキュリティーやサーバ負荷の管理の問題で禁止しているところが多い。 それほどのものなので、問題があるプログラムをCGIやSSIに使うと、 最悪の場合サーバをダウンさせたり、セキュリティーに穴をあけることがある。 よく理解して慎重に使おう。
UNIXについては「CGIをやるためにUNIXやシェルを勉強したい」を参照してください。 UNIX以外のCGIについては「UNIXはわからないけどサーバを作りたい」も参照してください。
いきなりゼロから、CGIプログラムを作るのはプログラムに慣れた人でも難しい。人が作ったプログラムをみて勉強したり、便利なライブラリを利用しよう。
perlによるCGIライブラリ
海外のサイトでperlのCGIを使っているけど、時刻が現地時間になってしまって困っている人は
$ENV{'TZ'} = "JST-9";
をはじめの方にいれてみよう。
CGIやSSIとはまったく違う方法で、Java(ジャバ)という仕組みがある。CGIやSSIがサーバ側でプログラムが動くのに対して、こちらはプログラムを自動的にダウンロードして動く仕組みだ。だから、一旦ダウンロードするとネットワークを使わないので、高速に絵が動いたり、クリックや文字の入力に応じて計算したり、動いたりする。
Javaに似ているもので、JavaScriptというのがある。これはHTMLの中に書き込むスクリプト言語で、ネットワークを使わずに入力チェックや計算などをすることができる。Javaのような派手さはないが、JavaScriptのほうが身近で実用的かもしれない。 最近Netscapeのステイタス欄にテロップを流すのが流行っているが、これもJavaScriptを使っている。(個人的にリンクやアクセス状況が見づらくなるので好きではないが)