Server Side Includes
HTMLファイルにプログラムを埋め込む技術だよ
最近では、あんまり使われないよ
「SSI」と表現されるのが一般的だよ
簡単に書くよ
Server Side Includes(読:サーバ・サイド・インクルーズ)とは
いわゆる「SSI」のこと。
用語の中身としては
ホームページのファイル(HTMLファイル)にプログラムを埋め込む技術
です。
もう少し小難しく書くと
HTMLファイルに特定の書式で処理を記述することで、サーバ側でその処理を実施してからクライアント側に応答を返す技術のこと
です。
詳しく書くよ
最初に留意事項です。
「SSI」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
SSIの正式名称(?)が「Server Side Includes」です。
「Server Side Includes」の頭文字を取ったのが「SSI」ね。
※「Server Side Includes」を何となく日本語にすると「給仕人側で含める」となります。[詳細]
以上が「SSI」の意味を知っている人向けの説明です。
「SSIって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
まずは予備知識として「HTMLファイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
HTMLファイルは、ざっくり説明すると「ホームページのファイル」です。
あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。
この流れにおいて受け渡しされるファイルがHTMLファイルです。
実際にはHTMLファイル以外のファイル(画像ファイルとか)も受け渡しされますけどね。
メインとなるファイル、ホームページの中身が書いてあるファイルがHTMLファイルです。
以上を踏まえて
HTMLファイルにプログラムを埋め込む技術(のひとつ)
が「Server Side Includes」です。
上でも書きましたが、一般的には「SSI」と表現されます。
※本ページでも以降は「SSI」と表現します。
本来、HTMLファイルの中身は、ただ目印を付けただけの文章です。
プログラムとかは一切関係ありません。
普通のホームページは、Webサーバに置いてあるHTMLファイルを見る人のコンピュータに送り、見る人のコンピュータの中にあるWebブラウザさんが見た目を整えて画面に表示してくれるだけです。
しかし時代の進歩と共に「ただ書いてある内容を表示するだけじゃなくて、いろいろやりたいよね」という声が大きくなりました。
そこで生まれた……のかどうかは知りませんが、HTMLファイルでちょっとしたプログラムっぽいことをやるために出てきた技術がSSIです。
SSIは、HTMLファイルの中にプログラムっぽい処理が書けます。
Webサーバさんは、その処理を実行してから、見る人のコンピュータにHTMLファイルを送ってくれます。
実際のSSIは例えば以下のように書きます。
<html>
<head></head>
<body>
「hoge.html」は<!--#flastmod file="hoge.html" -->に更新しました。
</body>
</html>
「<!--#flastmod file="hoge.html" -->」の部分がSSIです。
この例では「hoge.html」ファイルの最終更新日時を表示してくれます。
「JavaScriptみたいなもの?」と思う人がいるかもしれませんが、似て非なるものです。
JavaScriptは見る人のコンピュータ上であれこれ動きます。
それに対し、SSIはサーバ上で動きます。
JavaScriptは
J-1.サーバから見る人にファイルが送られる
J-2.Webブラウザさんが中身を解析してJavaScriptを動かす
の流れです。
SSIは
S-1.サーバが中身を解析してSSIを動かす
S-2.Webサーバから見る人にファイルが送られる
の流れになります。
SSIは、どちらかと言えばPHPさんとかPerlさんのお仲間ですね。
SSIを使うには、サーバ側で設定しなくてはいけません。
また、SSIを埋め込むことによって、ページの表示が遅くなったりします。
余計なお仕事が増えますからね。
さらに、悪い人によってSSIのコードを埋め込まれて変なことをされてしまうリスクもあります。
※変なことの詳細は、用語「クロスサイトスクリプティング」の説明を ご覧ください。
さらに、わざわざSSIを使わなくてもPHPとかで似たようなことができてしまいます。
そのため、現在ではあまり使われていない技術だと思います。
一言でまとめるよ
まぁ「Server Side Includes」って単語が出てきたら「SSI
(HTMLファイルにプログラムを埋め込む技術)のことなんだな~」と お考えください。
おまけ
■訳してみるよ
「server(サーバ)」の意味は「仕える人」とか「給仕人」とかです。
「side(サイド)」の意味は「側(ガワ)」とか「横」とか「方」とかです。
「includes(インクルーズ)」は「include(インクルード)」の複数形です。
「include(インクルード)」の意味は「含む」とか「含める」とか「組み込む」とかです。
何となく くっつけると
給仕人側で含める
となります。






