SSI(サーバサイドインクルード)
よみ: エスエスアイ
Web サーバーがページを表示する直前に、HTML ファイル内に書かれた特殊なコメント(<!--#include--> など)を読み取り、別のファイル(ヘッダーやフッターなど)をガチャンと合体させて表示する技術です。URL の末尾(拡張子)が「.shtml」になっていることが多いのが特徴です。
実務における立ち位置(過去のレガシー技術)
最も重要なポイントは、SSI は「古いサイトの保守でのみ関わる過去の技術であり、新規で使うことは絶対にない」という点です。もし自社やクライアントのサイトで SSI(.shtml)を見かけたら、「このシステムはかなり古い世代のものだ」と判断する明確な目安になります。
現代の代替手段(リプレースの選択肢)
現在の Web 制作では、共通パーツの使い回しには以下のような技術を使うのが常識です。SSI を使っているサイトは、これらへの移行(リプレース)を計画する必要があります。
- PHP:サーバー側で動くプログラミング言語を使ってパーツを読み込む(最も一般的)。
- CMS(WordPressなど):システム全体でヘッダーなどを一元管理する。
- 静的サイトジェネレーター(SSG):サーバーにアップする前に、手元の環境でパーツを合体させてから公開する。
よくある落とし穴(注意点)
「とりあえず動いているから SSI のままでいいや」と放置するのが、最大の罠です。SSI が動いているサーバーは、OS やミドルウェアのバージョンが極めて古いまま放置されていることが多く、重大なセキュリティリスクを抱えている可能性が高いため、計画的なリニューアルが急務となります。
言葉をよく利用する人
- バックエンドエンジニア
- Web 担当者(発注側)
- 情シス
会話上での使用例
古いサイトの保守方針を情シスと判断する場面
-
情シス
15 年くらい前に作られたサイトなんですが、共通部分が SSI という仕組みで動いているみたいで。
-
Web担当者
SSI は今ではほぼ使われない古い技術です。部分的に直し続けるより、計画を立ててリプレースした方がいいと思います。WordPress か静的サイトジェネレーターあたりへの移行を検討しましょう。
-
情シス
やはりそうですか。移行の見積もりを取ってみます。
見慣れない拡張子について若手に説明する場面
-
若手
ファイル一覧に .shtml っていう拡張子があるんですけど、これ何ですか。
-
Web担当者
それは SSI に対応した HTML ファイルですよ。昔ヘッダーやフッターを共通化するのに使われていた仕組みです。今は新規ではまず使わないので、見つけたら古いシステムの目印だと思ってください。
-
若手
なるほど、年代が分かる手がかりになるんですね。