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を利用するための設定について詳しく解説します。