This is reply to...
【date】 2000/10/07 15:21:19
【subject】 [vine-users:027081] Re: CGI について
【written by】 mieko <miekko _at_ mx8.freecom.ne.jp>
=====================================================================
松田です。
用語の認識に若干誤りがあるようです。
CGI Common Gateway Interface の略で、ブラウザからのアクセスがあった
際にサーバ側でプログラムを起動してデータ処理をする仕組み。その為
にプログラム言語である、Perl・Ruby等が使用される。
参考:http://www.ascii.co.jp/ghelp/14/001421.html
Perl プログラム言語。CGIでデータを処理する際に利用される。ソースコー
ドのまま実行できる。
参考:http://www.ascii.co.jp/ghelp/18/001875.html
です。
一連の流れは、(かなりいい加減な書き方ですが)
1.IEやNetscape等のブラウザ(HPを見るためのプログラム)でWebサーバにア
クセスする。(http://192.168.0.18/と入力する)
2.IPアドレス「192.168.0.18」が割り当てられているWebサーバはブラウザか
らデータを配信するようにリクエストを受ける。
3.それがCGIプログラムであった場合(拡張子.cgi)、サーバ上でそのプログ
ラムを実行し、*結果のみ*をブラウザに伝える。(結果はブラウザが理解できる
HTML形式の場合が一般的)
4.ブラウザは受け取った結果をHTMLとして表示する。
という感じです。
すなわち、ブラウザから、test.cgiに対するを配信リクエストを受けたWebサー
バは、
> #!/usr/bin/perl
>
> print "Content-type: text/html\n";
> print "\n";
> print "<HTML>\n";
> print "<HEAD>\n";
> print "<TITLE>テスト</TITLE>\n";
> print "</HEAD>\n";
> print "<BODY BGCOLOR=\"#FFoooo\">\n";
> print "これはCGIのテストです。\n";
> print "</BODY>\n";
> print "</HTML>\n";
このPerlスクリプトを実行し(printは出力する命令なので)、その結果である
Content-type: text/html
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
</HEAD>
<BODY BGCOLOR="#FFoooo">
これはCGIのテストです。
</BODY>
</HTML>
を受け取り、1行目を読んでHTML文章だと判断し、3行目以降をHTMLとして解釈し
て、画面に
これはCGIのテストです。
とだけ出力するわけです。
ですから、
> そこで、コマンドでCOMPIL結果を適当なFILEに出力し『test.htm』にし
> NETSCAPEで起動したら、画面が表示されました。
Netscapeで指定する場合は、「test.cgi」を指定します。
http://192.168.0.18/cgi-bin/test.cgi
(これはWebサーバの設定・データをどこに置いたかによります。)
出力される結果(ブラウザに配信されるデータ)は上に書いたとおり、HTMLファ
イルになります。
> 設定に誤りが無ければ test.cgi で画面が表示するのですよね????????
> どこかで大きな誤りをしているようです。?????
以上の理由により、test.cgiそのものは表示しません。test.cgiの実行結果を出
力します。
これはよくある掲示板やチャットのスクリプトでも同じ事で、ブラウザから送信
されてくる文字データ等をCGIの機能によりWebサーバがPerl等のプログラム言語
で処理し、その結果としてブラウザにはHTML形式でデータを配信する。
ただし、これもWebサーバの設定として、test.cgiが実行可能な属性になってな
いとならないですし、同じくWebサーバでCGIの機能が有効になっていなければな
りません。
ということです。
それとCOMPILEとは、プログラムのソースコード(人間が理解できるような命令
やコマンドの形式で書かれたもの)をコンピュータが直接実行できるようなバイ
ナリデータの固まりに翻訳する作業を指します。
CGIの場合はソースコード(上記のprint文などでかかれたプログラム)のまま実
行しますので、この場合は関係ありません。
2000/10/07
--
松田征弘
E-MAIL:matsu _at_ e-mail.club.ne.jp
References:
- [vine-users:027065] Re: CGI についてMasahiro Matsuda
- [vine-users:027081] Re: CGI についてmieko
- Prev by Subject: [vine-users:027084] Re: PCカードが認識されました(ifconfigでeth0のデバイスが見つからない)
- Next by Subject: [vine-users:027086] 解決しました (ifconfigでeth0のデバイスが見つからない)
- Previous by thread: [vine-users:027081] Re: CGI について
- Next by thread: [vine-users:027066] [Q] How to write french `oe' in LateX source on Vine1.1
- Indexes:[Main][Thread]