CGI(Common Gateway Interface)はウェブサーバー上で動作する仕組みの総称です。クライアントからサーバーへ要求(リクエスト)を送信し、それを受信したサーバーは応答(レスポンス)を返します。Pythonだけではなく様々なプログラミング言語でサポートされている機能で、Pythonでは標準ライブラリでそれを実現することができます。
また比較的安価なレンタルサーバーなどでも利用することができ、お問い合わせなどを受け付けるメールフォームなども、CGIを用いれば問題なく設置することが可能です。
テストサーバーの起動
PythonではCGIの動作確認を行うことができるテストサーバーを起動することができます。きちんとしたウェブサーバーを用意する前に簡易的なテストサーバーであらかじめプログラムの動作確認を行っておくとよいでしょう。
python -m http.server --cgi
上記コマンドを実行すると次のようなメッセージが出力され、簡易サーバーとしてリクエストを待ち受けしている状態となります。この状態で指定のURLへアクセスすると、記述した処理に応じたレスポンスが取得され、それがウェブブラウザ上へ表示されます。
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
待ち受け状態のまま、ウェブブラウザなどで次のURLへアクセスしてみてください。まだプログラムを用意していなくてもレスポンスが返ってくるはずです。
Python 2系では
Python 2系でテストサーバーを起動する場合は次のように入力してください。
python -m CGIHTTPServer