SSI(エスエスアイ)とは、Webサーバーがページを送り出す直前に、HTMLファイルの中に別のファイルの内容や日付などを埋め込んで表示させる仕組みのことです。 正式には「Server Side Includes(サーバー・サイド・インクルード)」といい、その名のとおり「サーバー側で(Server Side)内容を差し込む(Includes)」機能です。
現実世界でいえば、たくさんの書類に共通で入れる「ヘッダーとフッターのハンコ」を、配る直前にまとめて押すようなものです。ヘッダーやメニューなど全ページ共通の部品を1つのファイルにまとめておき、各ページには「ここに差し込む」という目印だけを書いておけば、サーバーが表示時に自動で当てはめてくれます。共通部分の修正が1か所で済むため、昔ながらのWebサイト管理で使われてきました。
SSIの仕組み
SSIでは、HTMLファイルの中に専用の書き方(ディレクティブ)で「ここに別ファイルを差し込む」といった指示を書いておきます。ブラウザからの要求を受けたWebサーバーは、ページを送り出す前にその指示を読み取り、指定されたファイルの内容や情報を実際のHTMLに置き換えてから送信します。ブラウザには、差し込みが終わった完成後のHTMLだけが届きます。
SSIでよく使われる指示
SSIには、用途に応じたいくつかの指示(ディレクティブ)があります。代表的なものは次のとおりです。
| 指示 | 働き | 使いどころ |
|---|---|---|
| include | 別のファイルの内容をその場所に差し込む。 | 共通のヘッダーやメニュー |
| echo | 日付やファイル名などの情報を表示する。 | 最終更新日の自動表示 |
| exec / config | コマンドを実行したり表示形式を設定したりする。 | 表示のカスタマイズ |
SSIのメリットと注意点
SSIを使うと、ヘッダーやフッターといった共通部分を1つのファイルにまとめられるため、修正が1か所で済み、更新の手間を大きく減らせます。一方で、外部からの入力をそのまま差し込むと不正なコマンドを実行される危険(セキュリティ上のリスク)があるため、扱いには注意が必要です。現在では、より柔軟なPHPなどのプログラムや、テンプレート機能で同じことを行う方法が主流になっています。

コメント