CGI スクリプトは、HTTP サーバによって起動され、
通常は HTML の<FORM>
または <ISINDEX>
エレメントを
通じてユーザが入力した内容を処理します。
ほとんどの場合、CGI スクリプトはサーバ上の特殊なディレクトリ cgi-bin の下に置きます。HTTP サーバは、まずスクリプトを 駆動するためのシェルの環境変数に、リクエストの全ての情報 (クライアントのホスト名、リクエストされている URL、クエリ文字列、 その他諸々) を設定し、スクリプトを実行した後、スクリプトの出力を クライアントに送信します。
スクリプトの入力端もクライアントに接続されていて、この経路を通じて フォームデータを読み込むこともあります。それ以外の場合には、 フォームデータは URL の一部分である 「クエリ文字列」を介して 渡されます。このモジュールでは、上記のケースの違いに注意しつつ、 Python スクリプトに対しては単純なインタフェースを提供しています。 このモジュールではまた、スクリプトをデバッグするための ユーティリティも多数提供しています。また、最近はフォームを 経由したファイルのアップロードをサポートしています (ブラウザ側 がサポートしていればです -- Grail 0.3 および Netscape 2.0 は サポートしています。)
CGI スクリプトの出力は 2 つのセクションからなり、空行で分割 されています。最初のセクションは複数のヘッダからなり、 後続するデータがどのようなものかをクライアントに通知します。 最小のヘッダセクションを生成するための Python のコードは 以下のようなものです:
print "Content-Type: text/html" # 以降のデータが HTML であることを示す行 print # ヘッダ部の終了を示す空行
二つ目のセクションは通常、ヘッダやインラインイメージ等の付属した テキストをうまくフォーマットして表示できるようにした HTML です。 以下に単純な HTML を出力する Python コードを示します:
print "<TITLE>CGI script output</TITLE>" print "<H1>This is my first CGI script</H1>" print "Hello, world!"
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。