mod_python
mod_python は Python プログラミング言語を Apache HTTP Server に結合するためのモジュールである。mod_python は web サーバー上で Python スクリプトを実行するための手段として、Common Gateway Interface を置き換えることを目的としている。高速な実行速度、複数のセッション間をまたいだ情報の保持などが特長である。
特長
通常の 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ソフトウェア財団 に寄贈され、Apache HTTP Server の一部となった。
関連項目
- Apache HTTP Server
- mod_jk(英語)
- mod_perl(英語)
- mod_parrot(英語)
- Spyce(英語)