用語集A〜Z

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 ファイルですよ。昔ヘッダーやフッターを共通化するのに使われていた仕組みです。今は新規ではまず使わないので、見つけたら古いシステムの目印だと思ってください。
  • 若手
    なるほど、年代が分かる手がかりになるんですね。

関連 Lesson(本書本文)

Lesson 1-5 HTML / CSS / JavaScript と CMS