| 名称 |
SSI (Server Side Include)
|
| SSIとは |
HTML文書にコマンド(命令)をあらかじめ組み込んでおき、
サーバがクライアントに情報を送信する際、
組み込んだコマンド部分をコマンドの実行結果に置き換えてからクライアントに送信する機能。
|
| SSIの設定 |
SSIは、サーバ側で利用可能なように設定をしなければ動作しません。
「.htaccess」 に以下の記述を追加する事によりSSIが有効になります。
- 「.htaccess」 の設定例(Apache2.0 の場合)
「.htaccess」に以下のように記述します。
Options +Includes
AddType text/html .shtml
AddHandler server-parsed .shtml
SSIを有効にするファイル拡張子は .htaccess によって
.html や .shtml など、指定することが可能です。
しかし、注意点にあるような理由から、ファイルの拡張子が「.shtml」の場合にSSIを有効にする設定が一般的です。
|
| SSIのコマンド |
代表的なコマンドをいくつか紹介します。
SSIは、HTML文書にSSIコマンドを
<!--#コマンド 引数="引数値"-->の形で組み込み使用します。
SSIのコマンド
- config
エラーメッセージや日時などのコマンド表示の設定をします。
- echo
現在時刻やファイルの更新日など、指定した値を表示します。
- exec
プログラムを実行し、結果をHTMLに取り込みます。
- flastmod
ファイルの最終更新時間を指定された形で表示します。
- fsize
ファイルのサイズを指定された形で表示します。
- include
HTML文書に他のファイルを取り込みます。
その他のコマンドなど、詳しい情報は、専門サイトなどをご参考下さい。
|
| SSIの活用 |
SSIを使用することで、
Webページにファイルの最終更新時刻や、
ファイルサイズなどを自動的に表示できるようになります。
またCGIなどの外部プログラムを実行し、
その結果をWebページに表示するなど様々な使用方法があります。
|
| 使用例 |
ファイルの最終更新日を表示する。
フォーマットの指定
<!--#config timefmt="%Y年%m月%d日%k時"-->
ファイル更新日の表示
<!--#flastmod file="ssi.shtml"-->
サンプル(太字部分がSSIで表示されています)
-------------------------------------------------------
このページは
2008年04月02日21時に更新されました。
-------------------------------------------------------
|
| SSIの注意点 |
使えると便利な SSI ですが、いくつか注意点があります。
- パフォーマンスの低下
SSIは読み込まれるたびにサーバがコマンドにある処理を行うため、その分サーバに負荷がかかります。
特に、全てのHTMLファイルに対してSSIを使用できる状態にしておくと、Webサーバが大量のファイルに対してSSIの解析処理を行うことになるため、パフォーマンスに大きな影響を与えます。
SSI処理を.shtmlファイルにだけ行うように.htaccessを設定することである程度回避することができます。
- セキュリティの低下
HTMLタグを禁止していない掲示板などでは、悪意のあるコマンドを書き込まれるおそれがあり、危険です。
|
| BIG-serverでは |
BIG-server では、
htaccess ファイルを記述することで、SSIが動くように設定できます。
|