「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

SSI

pointこの用語のポイント

pointHTMLファイルにプログラムを埋め込む技術だよ

point最近では、あんまり使われないよ

point「Server Side Includes」の略だよ

スポンサーリンク

簡単に書くよ

SSI(読:エスエスアイ)とは

ホームページのファイル(HTMLファイル)にプログラムを埋め込む技術。
もう少し小難しく書くと

HTMLファイルに特定の書式で処理を記述することで、サーバ側でその処理を実施してからクライアント側に応答を返す技術のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「HTMLファイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

HTMLファイルは、ざっくり説明すると「ホームページファイル」です。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

SSI

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

SSI2

お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

SSI3

この流れにおいて受け渡しされるファイルがHTMLファイルです。

SSI4

実際にはHTMLファイル以外のファイル画像ファイルとか)も受け渡しされますけどね。
メインとなるファイル、ホームページの中身が書いてあるファイルがHTMLファイルです。

以上を踏まえて

HTMLファイルにプログラムを埋め込む技術(のひとつ)

が「SSI」です。

Server Side Includes(サーバ・サイド・インクルーズ)」の略で「SSI」ね。
気が向いたら、覚えてあげてください。

SSI5

※「Server Side Includes」を何となく日本語にすると「給仕人側で含める」となります。[詳細]

SSI6



本来、HTMLファイルの中身は、ただ目印を付けただけの文章です。
プログラムとかは一切関係ありません。

普通のホームページは、Webサーバに置いてあるHTMLファイルを見る人のコンピュータに送り、見る人のコンピュータの中にあるWebブラウザさんが見た目を整えて画面に表示してくれるだけです。

SSI7

しかし時代の進歩と共に「ただ書いてある内容を表示するだけじゃなくて、いろいろやりたいよね」という声が大きくなりました。

そこで生まれた……のかどうかは知りませんが、HTMLファイルでちょっとしたプログラムっぽいことをやるために出てきた技術がSSIです。
SSIは、HTMLファイルの中にプログラムっぽい処理が書けます。
Webサーバさんは、その処理を実行してから、見る人のコンピュータにHTMLファイルを送ってくれます。

SSI8

実際の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.サーバから見る人にファイルが送られる

SSI9

J-2.Webブラウザさんが中身を解析してJavaScriptを動かす

SSI10

の流れです。

SSIは

S-1.サーバが中身を解析してSSIを動かす

SSI11

S-2.Webサーバから見る人にファイルが送られる

SSI12

の流れになります。
SSIは、どちらかと言えばPHPさんとかPerlさんのお仲間ですね。

SSIを使うには、サーバ側で設定しなくてはいけません。

また、SSIを埋め込むことによって、ページの表示が遅くなったりします。
余計なお仕事が増えますからね。

さらに、悪い人によってSSIのコードを埋め込まれて変なことをされてしまうリスクもあります。
※変なことの詳細は、用語「クロスサイトスクリプティング」の説明を ご覧ください。

さらに、わざわざSSIを使わなくてもPHPとかで似たようなことができてしまいます。

そのため、現在ではあまり使われていない技術だと思います。


image piyo2

一言でまとめるよ

まぁ「SSI」って単語が出てきたら「HTMLファイル(ホームページのファイル)にプログラムを埋め込む技術なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像041
書籍画像018

おまけ

■訳してみるよ

「SSI」は「Server Side Includes(サーバ・サイド・インクルーズ)」の略です。
「server(サーバ)」の意味は「仕える人」とか「給仕人」とかです。
「side(サイド)」の意味は「側(ガワ)」とか「横」とか「方」とかです。
「includes(インクルーズ)」は「include(インクルード)」の複数形です。
「include(インクルード)」の意味は「含む」とか「含める」とか「組み込む」とかです。
何となく くっつけると

給仕人側で含める

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け