mod_python
最新版 |
3.3.1
/ 2007年2月14日 |
---|---|
リポジトリ | |
対応OS | マルチプラットフォーム |
プラットフォーム | Python |
ライセンス | Apache License |
公式サイト | http://modpython.org/ |
mod_python は Python プログラミング言語を Apache HTTP Server に結合するためのモジュールである。mod_python は web サーバ上で Python スクリプトを実行するための手段として、Common Gateway Interface を置き換えることを目的としている。高速な実行速度、複数のセッション間をまたいだ情報の保持などが特長である。
現在では活発な開発はされていないが、メンテナンスを終了することを発表した[1]というわけではなく、単にmod_pythonが十分な完成度に達したため、ほとんどメンテナンスが不要な状態なのだと発表されている[2]。
特長
通常の 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ソフトウェア財団 に寄贈され[3]、Apache HTTP Server の一部となった。
脚注
関連項目
- Apache HTTP Server
- mod wsgi
- mod_jk(英語)
- mod_perl(英語)
- mod_parrot(英語)
- Spyce(英語)