Mod python

mod_python はPythonをApache HTTP Serverに結合するためのモジュールである。mod_pythonはWebサーバ上でPythonスクリプトを実行するための手段として、CGIを置き換えることを目的としている。高速な実行速度、複数のセッション間をまたいだ情報の保持などが特長である。

現在では活発な開発はされていないが、メンテナンスを終了することを発表したApache Quetzalcoatlというわけではなく、単にmod_pythonが十分な完成度に達したため、ほとんどメンテナンスが不要な状態なのだと発表されているmod_pythonのホームページ。

 特長 
通常のCGIの実行は、サーバ上のスクリプトにコネクションが張られるたびに新しいプロセスを開始する。小規模から中規模トラフィックのサイトではうまく動作するが、高トラフィックのサイトでは十分性能が出ない。FastCGIなどのCGIの性能を改善する方法はあるが、対象の言語をWebサーバ自体に埋め込む専用のモジュールを用いた方が簡単な場合が多い。mod_pythonはそのために設計されている。CGIのようにスクリプトの実行後プロセスが終了しないため、データベースのコネクションのような情報を永続的に持たせることが可能である。これによってスクリプト実行のオーバーヘッドを減少させることができる。

mod_pythonのモジュールはWebサーバに統合されているため、C言語で書かれたApacheモジュールが可能なことがほぼすべて可能である：
例えばHTTP以外のプロトコルの実装、リクエストやレスポンスのフィルタ、ドキュメントのコンテントタイプの決定などである。

もうひとつのmod_pythonの利点は、Apacheの心臓部分を実際に制御するのと同じようなインタフェースで、 Apacheのコアシステムと直接やりとりすることができる点である。これはApacheの設定ファイル内でプログラマが指定したハンドラによって行われ、特定のディレクトリに対するクライアントの各リクエストはApacheでは処理されず、mod_pythonとすべてのリクエストを受け取る "Main" 関数によって処理される。

またmod_pythonを用いると、ASPやPHP、JavaServer Pages (JSP) に類似したPythonコードをHTMLのページに埋め込むPython Server Pages (PSP) が利用できる。

 歴史 
mod_pythonの最初のバージョンは2000年にGregory Trubetskoyによってリリースされた。2002年9月mod_pythonはApacheソフトウェア財団に寄贈されhttp://modpython.org/donation.txt、Apache HTTP Serverの一部となった。
2013年11月13日にバージョン3.5.0がリリースされ、正式にPython 3系列のサポートが開始された。

 脚注 

 関連項目 

Apache HTTP Server
mod wsgi
mod_jk(英語)
mod_perl(英語)
mod_parrot(英語)
Spyce(英語)

 外部リンク 
 Official mod_python website
 mod_python Tutorial
 mod_python manual

Category:Webサーバ
Category:Python