Sun Java System Web Server 7.0 管理ガイド

CGI の概要

CGI (Common Gateway Interface) プログラムは、任意の数のプログラミング言語を使って定義できます。UNIX/Linux マシン上にはおそらく、Bourne シェルや Perl スクリプトとして記述された CGI プログラムが存在しています。


注 –

UNIX/Linux の下ではさらに CGIStub プロセスも実行されますが、これらは、サーバーが CGI 実行の支援用として使用するものです。これらのプロセスは、CGI への初回アクセス時にのみ作成されます。その個数は、サーバーでの CGI 負荷に応じて変わります。これらの CGIStub プロセスを終了しないでください。これらはサーバー停止時に削除されます。


詳細については、オンラインの『Sun Java System Web Server パフォーマンスのチューニング、サイジング、およびスケーリング』に含まれている、MinCGIStub MaxCGIStub、および CGIStubIdleTimeout に関する説明を参照してください。

Windows コンピュータにはおそらく、C++ またはバッチファイルで記述された CGI プログラムが存在しています。Windows の場合、Visual Basic などの Windows ベースのプログラミング言語で記述された CGI プログラムは、異なる機構を使ってサーバーとの連携動作を行います。これらは Windows CGI プログラムと呼ばれます。


注 –

コマンド行ユーティリティーを実行するには、Path 変数を手動で設定して server_root/bin/https/bin を含める必要があります。


プログラミング言語にかかわらず、データを受け取ったり返したりする方法は、どの CGI プログラムでも同じです。CGI プログラムの記述方法については、次の情報源を参照してください。

次の図は、Web Server 7.0 での CGI 要求の処理手順を示したものです。

Sun Java System Web Server 7.0

CGI プログラムをサーバーマシンに格納する方法は 2 つあります。

必要であれば、両方のオプションを同時に有効にすることも可能です。

どちらの実装にも利点があります。ある特定のユーザーグループだけが CGI プログラムを追加できるようにするには、CGI プログラムを特定のディレクトリ内に格納し、それらのディレクトリへのアクセスを制限します。HTML ファイルを追加できるすべてのユーザーが CGI プログラムも追加できるようにするには、ファイルタイプの選択肢を使用します。ユーザーは、HTML ファイルと同じディレクトリ内に CGI ファイルを格納できます。

ディレクトリのオプションが選択されると、サーバーはそのディレクトリ内のすべてのファイルを CGI プログラムとして解釈しようとします。同様に、ファイルタイプのオプションが選択されると、サーバーは、ファイル拡張子 .cgi.exe、または .bat を持つファイルをすべて、CGI プログラムとして処理しようとします。あるファイルがこれらの拡張子を持つにもかかわらず、CGI プログラムではなかった場合、ユーザーがそのファイルにアクセスしようとした時点でエラーが発生します。


注 –

デフォルトでは、CGI プログラムのファイル拡張子は .cgi.exe、および .bat. です。ただし、MIME タイプファイルを変更すれば、CGI プログラムを表す拡張子を変更できます。これを行うには、「構成」タブを選択し、「MIME タイプ」リンクをクリックします。