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

Server Side Includes

pointこの用語のポイント

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

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

point「SSI」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Server Side Includes(読:サーバ・サイド・インクルーズ)とは

いわゆる「SSI」のこと。
用語の中身としては

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

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


image piyo

詳しく書くよ

最初に留意事項です。
SSI」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
SSIの正式名称(?)が「Server Side Includes」です。
Server Side Includes」の頭文字を取ったのが「SSI」ね。

Server Side Includes(サーバ・サイド・インクルーズ)

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

以上が「SSI」の意味を知っている人向けの説明です。

「SSIって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩6

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

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

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

Server Side Includes(サーバ・サイド・インクルーズ)2

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

Server Side Includes(サーバ・サイド・インクルーズ)3

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

Server Side Includes(サーバ・サイド・インクルーズ)4

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

Server Side Includes(サーバ・サイド・インクルーズ)5

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

以上を踏まえて

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

が「Server Side Includes」です。
上でも書きましたが、一般的には「SSI」と表現されます。
※本ページでも以降は「SSI」と表現します。

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

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

Server Side Includes(サーバ・サイド・インクルーズ)6

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

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

Server Side Includes(サーバ・サイド・インクルーズ)7

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

Server Side Includes(サーバ・サイド・インクルーズ)8

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

Server Side Includes(サーバ・サイド・インクルーズ)9

の流れです。

SSIは

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

Server Side Includes(サーバ・サイド・インクルーズ)10

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

Server Side Includes(サーバ・サイド・インクルーズ)11

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

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

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

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

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

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


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

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

給仕人側で含める

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで
ウォーターサーバーのキャッチコピーを100本考える方法