2003 CNS GUIDE
copyright
 

4.2 SSI

Webページにおかれているアクセスカウンタや訪問者リストなどは,SSI (Server Side Includes) の機能を利用して作成できます. ここではSSIの概念や記述の方法を説明し,利用例を紹介します.これらの機能の詳細は,市販の参考書 などを参照してください.

4.2.1 SSIの機能

SSIとはHTML文書中に特殊なHTMLのコメントを挿入することにより,サーバ内で特殊なHTMLのコメントの記述を解釈して,指定したコマンドの実行結果や,指定したファイルにその部分を置き換える機能です.

通常,Webブラウザからページの送信要求を受けると,Webサーバは指定されたファイルの内容をそのまま Webブラウザに送信します.しかし,拡張子が`.shtml'であるファイルの送 信を要求受けた場合,ファイル中に次のようなHTMLのコメントを挿入することにより,サーバ側がコメントの場所に実行コマンドの 結果などに置き替えてWebブラウザに向けて 送信します(図4.6).

SSIの機能
図 4.6 SSIの機能

4.2.2 SSIの書式と実行例

ページの中にSSIの記述をするには,次の書式を用います.

<!--#COMMAND TAG1="VALUE1" TAG2="VALUE2" [...]-->

COMMANDには次のものが指定できます.

<!--#config errmsg="エラーメッセージ"-->
SSIでエラーが発生した場合、ここで設定したメッセージが出力される。
<!--#config timefmt="%y/%m/%d/%H:%M"-->
#echoや#flastmodで日時を表示する際の形式指定。
図 4.7 configコマンドの例

このファイルの名前は<!--#echo var="DOCUMENT_NAME" -->です.
現在時刻は<!--#echo var="DATE_LOCAL" -->です.
図 4.8 echoコマンドの例

来訪者リスト<p>
<!--#include VIRTUAL="list.txt">
図 4.9 includeコマンドの例

このページは <p>
<!--#flastmod VIRTUAL="list.html" -->に更新されました.
link.htmlは<p>
<!--#flastmod VIRTUAL="/~t02000tf/link.html" -->
に更新されました.

図 4.10 flastmodコマンドの例

現在時刻は<!--#exec cmd="date" --で>す<br>
あなたは<!--#exec cgi="counter.cgi" -->人目のお客様です.
図 4.11 execコマンドの例
SSIを利用するページのファイル名の拡張子は `.shtml'にしてください.