next up previous contents
Next: 12.4 簡単なCGIサンプル Up: 12. CGI Previous: 12.2.1 ScriptAlias指定子

12.3 CGIのメカニズム

クライアントが、Gatewayプログラムに対応するURLをリクエストをしたと き何が起こるのでしょうか?

1.
まず、サーバが、このGatewayプログラムを実行します。
2.
その出力は、ネットワークを通じて、クライアントに転送されます。 サーバは、転送データの前に、送られるデータのMedia typeをあらわすヘッダ など、複数のヘッダをつけ加えます。
3.
クライアントは、サーバから送られたデータのヘッダ部分の、 Content-type: フィールドを読んで、そのMedia typeを決めます。
4.
そしてそのtypeに基づいて、必要なviewerを起動し、データの本体部分を 表示します。

クライアント側の処理としては、送られてきたデータのヘッダを見て、 typeを決め、必要なviewerを起動するという手順は、以前のものと変わりは ありません。ただ、以前は、リクエストされたファイルの識別子から、 サーバがtypeを決めてヘッダに埋め込んでいたのですが、CGIの場合には、 リクエストされたファイルはデータが入っている訳ではなく、単なる プログラムです。Gatewayプログラムに、それが出力するデータのtypeに対応する 識別子をつけるというやり方もあるかもしれませんが、CGIは、そうした ルールを取りませんでした。CGIが取ったのは、Gatewayプログラム自身が、 データ本体ばかりでなく、ヘッダ部分を生成すべしという次のようなルールでした。



Noriyo Kanayama