マイ・ホームページへの道 / キーワード別の目次 / 逆引き・しりたいこと別の目次

インタラクティブなページを作りたい

FORM/CGI/SSI

「あなたは〜番目の訪問者です」とか「訪問者リスト」とかってどういう仕組みになってるんだろう、と不思議に思っている人は多いと思う。あれは、「FORM」や「CGI」や「SSI」という機能を使っているのだ。
プロバイダーのサーバは大抵の場合UNIXで、CGIとSSIはUNIXを知っている人でないと難しい。知識がなくても同じようなことをある程度実現する方法はある。そちらに関心がある方は、「プログラムを作ることはできないけどフォームやカウンターを使いたい」へどうぞ。

ホームページに入力欄やボタンがあるのをよく見かけるが、あれは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";
をはじめの方にいれてみよう。

Java / JavaScript

CGIやSSIとはまったく違う方法で、Java(ジャバ)という仕組みがある。CGIやSSIがサーバ側でプログラムが動くのに対して、こちらはプログラムを自動的にダウンロードして動く仕組みだ。だから、一旦ダウンロードするとネットワークを使わないので、高速に絵が動いたり、クリックや文字の入力に応じて計算したり、動いたりする。

Javaに似ているもので、JavaScriptというのがある。これはHTMLの中に書き込むスクリプト言語で、ネットワークを使わずに入力チェックや計算などをすることができる。Javaのような派手さはないが、JavaScriptのほうが身近で実用的かもしれない。 最近Netscapeのステイタス欄にテロップを流すのが流行っているが、これもJavaScriptを使っている。(個人的にリンクやアクセス状況が見づらくなるので好きではないが)


マイ・ホームページへの道 / キーワード別の目次 / 逆引き・しりたいこと別の目次