memo cgiとssi

CGIとSSIの違い

CGIはHTMLから呼び出されるプログラム(または呼び出すためのAPI定義?)
の位置づけっていえばいいのかしら。


1)サーバーはURLリクエストを解釈する。
2)httpデーモンがサーバー内で処理を行い、その結果をブラウザに返す

CGIスクリプトのファイル名は.cgiが一般的

アンカーの形式の例

<a href="./cgi-bin/xxx.cgi">click here</a>

フォームの形式の例

<form method=get action="./cgi-bin/xxx.cgi">
...
</form>
<a href="./cgi-bin/xxx.cgi">click here</a>

SSIを使う例

<!--#exec cgi="./cgi-bin/xxx.cgi" -->
  • SSI

SSIはHTMLソースのなかに、実行させたいコマンドを指定する機能
SSI実行命令を(サーバが)解釈するあたりがキーなのかな?
よくわからんw


) HTMLスクリプトの中の"SSI実行命令文"を解釈する(さーばが) ...要するにここがSSIってことだね。
3) コマンドもしくはCGIを実行させ、 間接的にhtmlファイルへ結果をブラウザに返す

実行結果はそのページのHTMLスクリプト内の"SSI実行・命令文"の部分と置き換えられて表示される

ファイル名は.shtmlが一般的ですが、設定により.htmlでも使用することも可
サーバの使用許可設定が必要なので、
設定によっては、.htaccessファイルに次の一行を記述する必要がある

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

基本的なSSIの書式は以下の通り

<!-- #命令 オプション = "引数" -->
最終更新日: <li>最終更新日:<!--#echo var=" LAST_MODIFIED" --><br>
現在時刻: <li>現在時刻:<!--#exec cmd=" date" --><br>

 <!--"exec cgi="./acclog.cgi"-->