[PR]tDl:N30,000l]Etp



ココのSSI入門?です(Top)

クリックすると写真が大きくなりますよ!このページは「SSI入門?です」として公開していたものですが、アクセス解析をしたところ、私のページの中で一番アクセスが多いことが分かりました。その割には、急いで作ったもので細かい説明を省いておりました。そこで大幅にページを作り変えてみました。これでも以前よりは丁寧に書き直したつもりですのでご勘弁ください。 逆に長いのは面倒だといわれる方は昔の「SSI入門?です」をご覧ください。(2002.4.8)


SSIって何?

 SSI(Server Side Include)はHTMLの文書中に、コメントを入れて、サーバーが実行結果などを置き換えてくれたりする機能をいいます。

現在ご覧頂いているページは infoseek isweb のサーバを使っています。infoseek isweb では、CGIとSSIの使用を認めています。しかしプロバイダによっては、SSIの使用を許可していないところもありますので、ご自分の環境をお確かめになって、いろいろと試してください。


何ができるの?

 さてSSIを使用すると、どのようなメリットがあるのでしょうか。

  1. 例えば、複数のWEBページの終わりに、トップページへのリンクが付けてあったとします。そのトップページのタイトルを修正する場合、HTMLファイルが30あったとすれば30のファイルを修正しなければなりません。しかしSSIで記述しておけば、各ページから指定したSSIで読み込む一つのファイルを修正するだけで済みます。
  2. ページを表示するときに、現在の年月日や時刻を表示することが出来ます。
  3. ダウンロードのページのように、ファイルサイズを表示することが出来ます。
  4. いま表示しているページの、最終更新日を表示することが出来ます。
  5. CGIなどの外部コマンドを読み出して、その結果を表示することが出来ます。もちろんCGIを使える環境があることが前提ですが。
その他にも、多くのことが可能です。どのような記述をすればいいのかを、これから書いていこうと思っています。

ただしSSIの使用を許可しているプロバイダでも、殆どのプロバイダでは拡張子を .shtml としなければなりません。 .html や .htm でもSSIを使用できるように設定はできるのですが、それではSSIを使用していない .html や .htm でもSSIのチェックを行う必要があり、サーバ負荷が掛かりすぎるのを嫌うからです。この infoseek isweb では拡張子は .shtml のみでの使用を認めています。


どうすればいいの?

 では実際にSSIを使用するにはどうすればいいのでしょうか。SSIでの書き方は、実に単純です。

例1:<!--#exec cgi="./cgi-bin/l_if_1.cgi" -->
例2:<!--#echo var="HTTP_USER_AGENT" -->

HTMLの文書中に、上のようなコメント文を入れればいいのです。そうすればWEBサーバ側で、コメントの部分にその結果を挿入してくれます。

コメントの部分とは <!----> で鋏まれた部分を指します。HTMLでは <!-- から --> に鋏まれた部分は、「単なるメモ書きだ」と判断をして、処理を実行しません。

SSIに対応しているブラウザは、
<!--#exec cgi="./cgi-bin/l_if_1.cgi" -->
<!--#echo var="HTTP_USER_AGENT" -->を見つけて、「これは単なるコメントではなく、SSIの命令だ」と判断して、実行してくれるのです。なお、書き方のお作法として、--> の前に半角スペースを置いてください。

でもSSIに対応していないブラウザも、まだ世の中には存在しています。どうなってしまうのでしょうか。対応していないブラウザは、<!----> の部分だけを見て、単なるメモ書きだと無視をするだけです。

<!----> の間に何を書けばいいのかは、これからのお話です。


SSI使用ページの紹介

 さて前置きが長すぎると嫌われますので、実際にどのようなことができるのかを見てみましょう。この Coco's Home では、いくつかの SSI を使用したページがあります。その主なものを紹介しましょう。

  • ココの俳句?教室
      画面の上に、アクセスごとに変わる俳句を表示しています。
  • カレンダー de ココ
      画面左上に、本日のカレンダーを、画面の左上に表示しています。
  • 時間ごとにメッセージを
      画面上部に、時間ごとに変わるメッセージを表示しています。
  • いかがでしょうか。これらはSSIからPerlのCGIを読み出して表示させたものです。SSIからCGIを読み出すだけでなく、SSIだけでも、いろいろなことができます。
    次のページからは、実際にどのようにHTMLに記述すればよいのかを説明していきます。


    | Back | Coco's Home | ココとPerlで遊びませんか | ココのSSI入門?です |
    Copyright 2001-2002 Coco's Home. All rights reserved.

    [PR]ヤT佑衿慂洌:Sヤ!