HOMEへ
目次へ

CGIを使ったWebページ

Webの話題
1999.09.16

注:このトピックは、分割表示バージョンを開発する前(一括表示バージョンのみで公開されていた時)に書かれました。(1999.12.25)

Webページを、単に見るだけのものでなくインタラクティブなものにするための手法として、「SSI」「CGI」というテクニックが使われることをご存じの方も多いだろう。私の手元にある解説書にも、CGIによって、アンケート処理やアクセスカウンタやゲームなどが実現できる、と書かれている。これに限らず、ちまたの解説書で、まるで「SSIやCGIはインタラクティブのためにある」かのような物言いを目にすることがよくある。事実そのように誤解している人も多いかも知れない。しかし私はそれに異論を唱えたい。

CGIやSSIは、何もインタラクティブの専売特許ではない。それが証拠に、今ごらんになっているこのページ、実はこれはHTMLファイルではなく、CGIの出力である。
http://www.letre.co.jp/~iwaki/essay/index.html というファイルには、実は下記の1行しか書いていない。

<!--#exec cgi = "essay.cgi"-->

詳しい方にはピンと来ると思う。そう、これはSSIである。これを見て、SSIの知識のある方なら、このページは「essay.cgi」を直接呼び出すことによっても表示されるのでは、と思うことだろう。その通りである。納得したい方はどうぞ下記のURLを試してみてほしい。

http://www.letre.co.jp/~iwaki/essay/essay.cgi

では、このCGIで何をやっているかというと、「複数のファイルの連結とタグの付加」を行っているのである。このページは一つのHTMLファイルではない。このページでの連載は、冒頭の「はじめに」を入れると今回で6回目だが、原稿は各回ごとに別々のファイルになっている。つまり、今ごらんになっているこのページは、6つ(=今回執筆時点)のファイルがCGIによって整形&連結されたものなのである。しかも原稿となる各ファイルは完全なHTMLではなく、中途半端なタグ入りテキストで書かれている。例えば、これが今回の原稿である。このような原稿ファイルがCGIによって連結、整形されて、今ごらんになっているような体裁で表示されているわけである。具体的には、このCGIは以下のような処理を行っている。

上記の原稿のルール、一見えらく複雑に見えるかも知れないが、私には一番書きやすいルールである。つまり、原稿は自分の一番書きやすい形で書き、決まり切った整形はCGIにまかせる、という考え方なのである。この方法を採用したことで、連載の文章を書く労力が大幅に軽減された。このシリーズをこのペースで続けられているのも、そして、このページに文法ミスがほとんど無いのも、すべてCGIを導入したおかげである。
「労力を軽減できる」−−これこそ、コンピュータを使う最大の利点だと思うのだが、この点に着目してSSIやCGIの解説がされることが少ないのは、ちょっと残念なことだと思っている。

私の結論:SSIやCGIの使用をインタラクティブな部分に限定するのはもったいない。


目次へ
HOMEへ

岩城 保(Tamotsu Iwaki)
iwaki@letre.co.jp