11.1.1 はじめに

CGIスクリプトは普通、HTMLの<FORM><ISINPUT> 要素によるユーザの入力を処理するためにHTTPサーバから呼ばれます。

ほとんどの場合、CGIスクリプトはサーバの特別なディレクトリ`cgi-bin'に置かれます。 HTTPサーバはあらゆる種類の情報(クライアントのホスト名や要求されたURL、入力内容その他)を スクリプトを実行するシェル環境に渡し、スクリプトを実行し、スクリプトの出力をクライアントに 送り返します。

スクリプトへの入力はクライアントから直結されるか、URLの``query string''という部分で渡されます。 このモジュール(`cgi.py')はどちらの場合も同じインタフェースで 入力をパイソンスクリプトに渡すようになっています。 また、デバッグの役に立つたくさんのユーティリティも提供します。 そして最近、フォームからのファイルのアップロードがサポートされました。 (ブラウザがサポートしていればの話 - Grail 0.3と Netscape 2.0は大丈夫です。)

CGIスクリプトの出力は、空行で分けられる2つの部分からできていなければなりません。 前の部分は次に続くデータの種類を表すヘッダです。 パイソンが出力する最小のヘッダはこのようなものです:

print "Content-type: text/html"     # HTML がこの後に続く
print                               # ヘッダの終わりを表す空行

後ろの部分は普通の HTMLで、クライアント側ではヘッダや、インラインイメージなどとともに うまいこと表示できるでしょう。 パイソンで簡単な HTMLを表示させてみると:

print "<TITLE>CGI script output</TITLE>"
print "<H1>This is my first CGI script</H1>"
print "Hello, world!"

(「標準」どおりの、正しい HTMLでないとブラウザが理解できないでしょうけど。)

guido@python.org