SSI (Server Side Include)
CGI
入門では、主に CGI
プログラミング環境とその仕組み、および制御構文などについて説明しています。SSI
について解説しています。Server Side Include = SSI
)コマンドを使うことになりますので、少なくともそのコマンドを知らなければなりません。SSI
とはSSI
とは、サーバ側であらかじめ組み込まれたコマンドを利用する仕組みのことです。そのため、SSI
では動的で有用な作業を実行するのにプログラムのようなコーディングを作成する必要はなく、何種類かの SSI
コマンドを使うだけでよいのです。SSI
コマンドというのは、サーバ側が HTML
ファイルを解析しながら実行します。HTMLコードに埋め込まれた特別なコマンド(命令)です。SSI
は、一群の異なったファイルに共通の内容を含めたい、という要求に応えて開発されました。この取り込み(Include
)機能は、シグニチャ(署名)ファイルや会社のロゴファイルなど、すべてのファイルに付加したファイルを取り込むのに使うのが一番多い使い道です。include
コマンドが含まれている HTML
ファイルが要求されるたびに、その中に取り込まれます。サーバ側インクルードと呼ばれるのは、そうした仕組みのためなのです。SSI
利用のデメリットSSI
も同じことです。SSI
を処理するために余分な仕事をたくさんこなさなくてはなりません。サーバが通常の HTML
を返すときは、適切な応答ヘッダを生成した後、HTML
をそのままユーザに送り返します。厄介な問題ではありませんし、手間もほとんどかかりません。CGI
プログラムを実行するときは、CPU
が直接またはインタプリタを通じてプログラムを実行します。CGI
プログラムは、何らかの HTTP
応答ヘッダを生成し、それから HTML
ファイルを生成するはずです。HTTP
応答ヘッダを生成し、CGI
で生成された HTML
ファイルをユーザエージェント (Webブラウザ) に渡すことだけです。SSI
コマンドを含むファイルを返す場合には、サーバはそのファイルの各行を読んで SSI
コマンドの文法に従う個所を見つけなければなりません。この作業を「ファイル解析」と呼びます。HTML
ファイルの任意の場所に SSI
コマンドを書くことが可能なので、サーバは HTML
ファイル中の SSI
コマンドを見つけるための特別の労力を重ねなければなりません。SSI
コマンドを含んだファイルは、通常の HTML
ファイルに比べ処理時間がかかるため、ユーザエージェントに返されるのが遅いという欠点もあります。SSI
コマンドを処理しなければならない場合、サーバはさらに多くの負担がかかり、結果としてサーバの動作は遅くなります。SSI
を使うなというわけではありません。ただ、SSI
を使うことの損失を理解しておく必要があるのです。その上で、初めて SSI
に取り組んでください。SSI
はどのように動くのかSSI
コマンドを含んだファイルをどのようにして判断するのでしょうか?HTML
ファイルの拡張子は「.html
」です。それに対し、 SSI
コマンドを含んだ HTML
ファイルの識別子は「.shtml」
としなければなりません。SSI
ファイルとして処理を実行します。ファイル名による制御は、srm.conf
ファイル中で、AddType
命令を使って設定できます。具体的な内容については、次節より解説します。Windows
では、識別子を 「拡張子」 と呼びます。)SSI
が使える環境でなければなりません。サーバの管理者は CGI
が負担が大きすぎると判断した場合、SSI
を使わせないようにすることができます。それが第一の関門でしょう。あなたのプロバイダの管理者に直接尋ねて、SSI
が利用できるかを確認しなければなりません。SSI
を利用するための設定について詳しく解説します。