lHTML CGI MS-DOS '96. 6.27
l.お知らせ 内容 LINK FILE   HTML Win PC Unix MS-DOS C C++ Mfc Java 
.全般_ .文字 _配置   _リンク .フレ-ム  CGI .タグ一覧.
登録_ .音・画. .スタイル .--. .ActiveX.  ---  .名前. _一覧
 CGI  仕組   表示する  フォ-ム  仕組    カウンタ  *  
*   *   *   *
ページ内
このページは CGI のページではありません。
CGI と同じ事を、自分のパソコンの MS-DOS を使ってやってみるだけです。

T CGI

CGI(Common Gateway Interface)は、タイマーによって自動的に、または、メッセージを入力したときなどに、ソースファイルを書き換えます。
そのため、CGI を使ってあるページでは、入力メッセージや書換えられたソースファイルなどがインターネット上を行き来します

表示画面を変化させるだけなら、<A HREF>を使えば実現できますが、その場合は表示させる画面があらかじめ決まっています。

ファイルを書き換える為のプログラムには、C, perl, Java などが有りますが、ここでは「試してみる」目的で MS-DOS のバッチファイルを使用します。
備考:Java は CGIも可能ですが、「プログラムを書き換える」部分を、ホームページを見ている人のパソコンに置けば、ソースファイルを受取ってから書き換えることができる特徴があります。

CGI の簡単な例として、クリックすると「時刻を表示する部分」を書き換えるページを作ってみます。


CGI の実験1現在の時刻を表示する。

必要なファイルを作ります。
1.最初に、表示するページのソースファイルを作ります。
  これは CGI.htm として保存します。
<HTML> <HADE><TITEL>現在の時刻 </TITEL></HADE>
<BODY>
<A HAEF="CGI"> 現在の時刻を表示します。</A>

</BODY><HTML>

2.MS-DOS ではファイルに直接書くことができないので、コピーコマンドを使います。
  そのために、元になるファイルを作って用意しておきます。
  (1)前半部分  これを CGI1.txt として保存します。
<HTML> <HADE><TITEL>現在の時刻 </TITEL></HADE>
<BODY>
<A HAEF="CGI"> 現在の時刻を表示します。</A>
 
  (2)後半部分  これを CGI2.txt として保存します。
</BODY></HTML>
 
  (3)ついでに、改行コードだけのファイルも作っておきます。
  これは CR.txt として保存します。
      ...Enterキーを押すだけ。他には何も入力しません。
3.ソースファイルを書き換えるためのバッチファイルを作ります。
  これは CGI.bat として保存します。
COPY CGI1.txt CGI.htm  CGI1.txt を、CGI.htmに上書します。
TIME < CR.txt >> CGI.htm TIMEコマンドを起動し、結果を CGI.htm に追加します。
TYPE CGI2.txt >> CGI.htm CGI2.txt を、CGI.htm に追加します。
     < CR.txt は、Enterキーを押す代わりです。起動後の TIME を終了させます。
以上は、すべて同じディレクトリに格納します。

CGI.bat のショートカットを作って、名前を CGI に変更します。
今作ったショートカット、CGI のプロパティを変更します。
コマンドライン : 「格納ディレクトリ\CGI.BAT /C」 .../C を追加します。
作業デイレクトリ :  ファイルを格納したディレクトリを記入します。
プログラム終了時にウインドウを閉じる : チェックします。(レ)
実行時の大きさ :    「最小化の状態」を選択します。
メモリ :          すべて「自動」を選択します。

意味:
/C オプション  ...CGI.bat が終了したら、MS-DOS(Command.com)も終了させます。
作業ディレクトリ       ...ここでまとめてファイルのディレクトリを指定します。
   (バッチファイルを書くときに、使うファイルのディレクトリを省略できます。)
終了時にウインドウを閉じる ...CGI.bat が終了したらウインドウを閉じます。
最小化の状態           ...MS-DOS のウインドウは表示する必要がありませんから。
これで、CGI.htm をダブルクリックして起動し、「現在の時刻を表示します」の部分をクリックすれば、時刻が表示されるようになります。
ただし、MS-DOS の起動に時間がかかるので、現在の時刻?が表示されるまでに時間がかかります。
また、MS-DOS では細かい操作ができないので、余分なメッセージも表示されます。
ファイル名には CGI?.??? を使いましたが、時刻?.??? などでもOKです。

「MS-DOS」のページにあるプログラムを使えば、余分なメッセージを表示しないようにできます。
その場合は、上記の TIME < CR.txt >> CGI.htm の部分を、
TIME2 >> CGI.htm のように書き換えます。
(あらかじめ、TIME2をソースファイルと同じディレクトリに格納しておきます。)


SSI(ServerSideIncludes)
SSI もソースファイルを書き換えますが、特定の内容をソースファイルに挿入します。
ソースファイルを書き換えるプログラムを用意して、内容を追加したい位置に、
<!--#exec cmd="プログラム"-->  のように書きます。

<!-- -->はふつう、コメントを書くタグですが、このようにプログラムを呼び出すためにも使われます。

SANNET の場合は、counterプログラムが用意されていますので、このホームページのトップのように、簡単にアクセスカウントを表示することができます。
T


  mtoga@sannet.ne.jp   登録日 '96. 6.15
URL : http://www.sannet.ne.jp/userpage/mtoga/index.html