【基礎知識】レンタルサーバーのCGIとSSIって何?

レンタルサーバーの機能比較表を見ていると、CGIやSSIといった項目が目につきます。

これはどちらも動的にウェブページを表示するための機能ですが、使い方に違いがあります。

簡単に知りたい方のために、最初にポイントだけまとめておきます。

 

・状況に応じて表示が変化するページのことを「動的なウェブページ」と呼ぶ
・CGIとSSIはどちらも動的な処理を実現するが、そのための方法が異なっている
・CGI:Webサーバー外部のプログラムを呼び出す
・SSI:Webサーバー自身が、HTML内に直接記述された命令を実行する

 

以下は、より詳しい解説が欲しい方向けの内容となります。




動的なウェブページとは

そもそも「動的な」ウェブページとはなにか、からまず説明します。

通常のHTMLで作成したウェブページは、誰がいつ見に来て、何回更新ボタンを押しても、いつも同じ内容が表示されます。

これはHTMLファイルの中身をそのまま表示させているからです。

このように(HTMLファイル自体を更新しないかぎり)常に変化のないページのことを「静的な」ページと呼びます。

 

一方、たとえば現在の日付や時刻を自動で表示させたりなど、タイミングや動作によってその都度HTMLのデータを作り出しているものを「動的な」ページと呼びます。

一般的なウェブサイトであっても、アクセスカウンターや掲示板など、状況に応じて表示が変化するコンテンツはいずれも動的な処理によって実現されています。

そして、動的な処理を実現させる「方法」として、CGIやSSIなどが存在しています。

 

 

CGIとは

CGIとは一言で表せば「Webサーバー外部のプログラムを呼び出す手法」です。

たとえば掲示板のような動的コンテンツは、不特定多数の書き込み・編集・削除など複雑な仕組みを必要とします。

しかしWebサーバーの本来の機能は「HTMLの中身をそのまま表示する」というシンプルなものですから、こうした複雑な処理には向いていません。

そこでこのような場合、通常のHTMLページとは別に掲示板プログラムを用意して、掲示板のアドレスにアクセスがあったらそれを呼び出す、という方法が取られます。

このときの呼び出し方のことをCGIと言います。

正式名称はCommon Gateway Interface、あえて日本語にすると「(外部プログラムを使うときの)共通のやりとり方式」のような感じになります。




SSIとは

一方でSSIとは「Webサーバー自身に動的な処理まで行わせる手法」になります。

本来のWebサーバーはHTMLの中身をそのまま表示させるのが役割ですが、そこに特殊なコマンド(命令)を解釈する機能を加えたものがSSIです。

正式名称もServer Side Includes、日本語で「(動的処理をWeb)サーバー側に含める」というものになっています。

SSIには幾つかのコマンドがあり、それを特定の文法に則ってHTML内部に直接記述します。

たとえば「flastmod」というコマンドを記述することで、そのページの最終更新日時を表示できます。
※SSIコマンドを記述した場合、通常はHTMLファイルの拡張子を「.shtm/.shtml」にする必要があります。

ただし設定によっては「.htm/.html」の拡張子でSSIコマンドを実行することも可能です。

 

 

 

実際の使い分け

まずCGIについては、今もウェブサイト上の多くの場面で利用されています。

自分でプログラムが作成できなくても、フリー配布のものがネット上には多くあります。

レンタルサーバーにおいてもCGI利用を禁止しているところはまずありません。

ただし、CGIの一部(とくにゲームなど)にはサーバーに著しい負荷をかけるものがあり、そうしたプログラムの利用は制限されている場合があるのでご注意ください。

 

 

 

SSIの利用は減少傾向か

SSIについては、以前に比べるとだいぶ利用されている場面が減ったように感じます。

大きな理由としてはPHPの普及がありそうです。

かつて利用頻度の高かったSSIコマンドに「include」という他のファイルの内容を取り込むものがありました。

たとえばウェブサイトのヘッダー・サイドバー・フッターなどの共通部分のHTMLをこのコマンドで取り込むことで、サイト管理を楽にしたりしていました。

しかしSSIと同じくHTML内に直接記述できるPHPが登場し、ほぼ同様の方法で他ファイルが取り込めるようになりました。

しかも現在では月額100円程度のレンタルサーバー、さらには無料サーバーでも使えるほどにPHPが普及し、SSIでなければならないというケースが減ったように思われます。




 

雑記の最新記事8件