このページは「SSI入門?です」として公開していたものですが、アクセス解析をしたところ、私のページの中で一番アクセスが多いことが分かりました。その割には、急いで作ったもので細かい説明を省いておりました。そこで大幅にページを作り変えてみました。これでも以前よりは丁寧に書き直したつもりですのでご勘弁ください。 逆に長いのは面倒だといわれる方は昔の「SSI入門?です」をご覧ください。(2002.4.8)
SSI(Server Side Include)はHTMLの文書中に、コメントを入れて、サーバーが実行結果などを置き換えてくれたりする機能をいいます。
現在ご覧頂いているページは infoseek isweb のサーバを使っています。infoseek isweb では、CGIとSSIの使用を認めています。しかしプロバイダによっては、SSIの使用を許可していないところもありますので、ご自分の環境をお確かめになって、いろいろと試してください。
さてSSIを使用すると、どのようなメリットがあるのでしょうか。
ただしSSIの使用を許可しているプロバイダでも、殆どのプロバイダでは拡張子を .shtml としなければなりません。 .html や .htm でもSSIを使用できるように設定はできるのですが、それではSSIを使用していない .html や .htm でもSSIのチェックを行う必要があり、サーバ負荷が掛かりすぎるのを嫌うからです。この infoseek isweb では拡張子は .shtml のみでの使用を認めています。
では実際にSSIを使用するにはどうすればいいのでしょうか。SSIでの書き方は、実に単純です。
HTMLの文書中に、上のようなコメント文を入れればいいのです。そうすればWEBサーバ側で、コメントの部分にその結果を挿入してくれます。
コメントの部分とは <!-- と --> で鋏まれた部分を指します。HTMLでは <!-- から --> に鋏まれた部分は、「単なるメモ書きだ」と判断をして、処理を実行しません。
SSIに対応しているブラウザは、
<!--#exec cgi="./cgi-bin/l_if_1.cgi" --> や
<!--#echo var="HTTP_USER_AGENT" -->を見つけて、「これは単なるコメントではなく、SSIの命令だ」と判断して、実行してくれるのです。なお、書き方のお作法として、--> の前に半角スペースを置いてください。
でもSSIに対応していないブラウザも、まだ世の中には存在しています。どうなってしまうのでしょうか。対応していないブラウザは、<!-- と --> の部分だけを見て、単なるメモ書きだと無視をするだけです。
<!-- と --> の間に何を書けばいいのかは、これからのお話です。
さて前置きが長すぎると嫌われますので、実際にどのようなことができるのかを見てみましょう。この Coco's Home では、いくつかの SSI を使用したページがあります。その主なものを紹介しましょう。
いかがでしょうか。これらはSSIからPerlのCGIを読み出して表示させたものです。SSIからCGIを読み出すだけでなく、SSIだけでも、いろいろなことができます。
次のページからは、実際にどのようにHTMLに記述すればよいのかを説明していきます。