Mod python

mod_pythonは、PythonApache HTTP Serverに統合するためのモジュールです。主な目的は、Webサーバー上でPythonスクリプトを実行する際のCGIの代替となることです。CGIと比較して、高速な実行速度や、複数のセッションを跨いで情報を保持できる点が大きな特徴です。

mod_pythonの特徴



通常のCGIでは、クライアントからの接続ごとに新しいプロセスが開始されます。これは小規模から中規模のトラフィックのサイトでは問題ありませんが、高トラフィックのサイトではパフォーマンスが低下する原因となります。FastCGIなどCGIの性能を改善する手法はありますが、Webサーバー自体に言語を埋め込む専用モジュールを利用する方が、より効率的な場合があります。mod_pythonは、そのようなニーズに応えるために設計されました。

CGIとは異なり、mod_pythonではスクリプトの実行後もプロセスが終了しないため、データベース接続などの情報を永続的に保持できます。これにより、スクリプト実行のオーバーヘッドを大幅に削減できます。

さらに、mod_pythonのモジュールはWebサーバーに深く統合されているため、C言語で記述されたApacheモジュールと同様の機能を利用できます。例えば、HTTP以外のプロトコルの実装、リクエストやレスポンスのフィルタリング、ドキュメントのコンテンツタイプの決定などが可能です。

また、mod_pythonはApacheのコアシステムと直接やり取りできるインターフェースを提供します。これにより、Apacheの設定ファイル内でプログラマーが指定したハンドラによって、特定ディレクトリに対するクライアントのリクエストを、Apacheではなくmod_pythonで処理することができます。この際、リクエストはmod_pythonの "Main" 関数に渡され、一括して処理されます。

加えて、mod_pythonには、ASP、PHP、JavaServer Pages(JSP)に類似した、PythonコードをHTMLページに埋め込むPython Server Pages(PSP)機能も含まれています。

歴史



mod_pythonの最初のバージョンは、2000年にGregory Trubetskoyによってリリースされました。2002年9月には、Apache Software Foundationに寄贈され、Apache HTTP Serverの一部となりました。2013年11月13日にはバージョン3.5.0がリリースされ、正式にPython 3系列のサポートが開始されました。

現在の状況



現在、mod_pythonは活発な開発が行われているわけではありません。しかし、それはメンテナンスが終了したことを意味するのではなく、mod_pythonが十分に完成された状態であり、ほとんどメンテナンスの必要がないためです。この事実は、mod_pythonの安定性と完成度の高さを物語っています。

関連情報



関連項目

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

外部リンク

Official mod_python website
mod_python Tutorial
* mod_python manual

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。