Study of CGI

SSI

SSIとは Server Side Includes の略です。

直訳すれば、サーバー側で入れておく、とでもいう感じでしょうか

SSIは誤解を招くような表現かもしれませんが、「埋め込み型CGI」というのが一番ぴったり来ると思います。

SSIで最も注目すべき機能は、外部のCGIプログラムを起動し、その結果を表示することができることでしょう。(もちろんいくつかの気をつける点はありますが)

CGIがプログラムの中でHTMLのページを作成して全体を出力しなければならないのに対し、SSIではコマンドをHTMLで作成したページの中にコメントの形で書きこんで、その個所だけをプログラムで書き出すということができます。


SSIでできること

動作 コマンド 引数
外部ファイルの内容を読み込む include file、virtual など
外部プログラムの実行をし結果を取り込む exec cgi、cmdなど
ファイルの最終更新日を表示 flastmod file、virtual など
他のコマンドの表示形式を指定 config errmsg、timefmt など
定義されている環境変数を表示 echo var
指定したファイルのサイズを表示 fsize file、virtual など

SSIの使い方

SSIの挿入位置に「<!--#コマンド名 引数名="引数値" --> 」をいれサーバーがSSIを許可している拡張子(多くはshtml)にします。

サーバーにアップロードして、確認します。

SSIコマンドが適正に設定されていれば、flastmodやechoなどはすぐに使うことができます。

<!--#config timefmt="%Y 年 %m 月 %d 日 %H 時 %M 分"-->
<!--#echo var="LAST_MODIFIED"-->

include、exec、fsizeなどは外部ファイルが必要です。

execで、CGIプログラムを起動するときは、CGIプログラムのエラーにも気をつけてください。

サーバーがSSIを許可している拡張子以外の拡張子で、SSIを使いたい場合は、「.htaccess」というファイルを置くと使えるようになる場合があります。
(.htaccessの設置が許可されていないサーバーもあります)

自分は「htアクセス」とか呼んでいましたが。正式には、Access Configuration File(アクセス コンフィギュレーション ファイル)というらしいです。

たとえばshtmlの拡張子で、SSIが許可されていない場合は、次のようにファイルに書いて設置すればそれでOKです。

	AddType    text/x-server-parsed-html  .shtml

SSIを使う時の注意点

  • SSIコマンドは、必ずコメント形式 「<!--#コマンド名」で始める。頭の「#」の前にはスペースが含まれてはいけない。
  • 引数値を示す記述の最後の部分「"引数値" -->」の部分には、必ずスペースを1つ置く。
  • パス名に「../」を含むコマンドやファイルへのパス名は使用しない。
  • 引数値を記述する際には、引用符で囲む。
  • プロバイダーが使用を許可してるか(プロバイダーがCGIを許可してるかといってSSIが使えるとは限らない)

ポイント

  1. SSIはHTMLで作成したページにプログラムを埋め込める。
  2. SSIが使える拡張子は多くはshtmlです。
Cookie HomePage -

□新着

  • 2016/04/14
    ページ復旧
  • 2007/10/06
    Story Maker始動
  • 2007/06/13
    久々の更新
  • 2007/01/06
    logちょっとバージョンアップ
  • 2006/07/27
    ホームページのPerl 終了

□Topics

  • 2016/04/14
    サイト復旧
  • 2007/10/06
    StoryMaker始動
  • 2007/06/13
    今後にぜひご期待を!
  • 2006/06/26
    今後について
  • 2006/06/15
    環境の変化