[FrontPage] | 更新履歴 - サイトマップ - "FastCGI" 配下のコンテンツ - 過去を発掘 | [Snap.Shot] |
FastCGI |
RemoteWikiURL: http://www.fastcgi.com/
fastと書くと語弊があるような気もするのだけど…。 という初歩的なところは、 FastCGIOverview なんかに書いてみました。 以下はもうちょっと詳しく知りたい人のために。
通常のCGIは一回こっきりでプロセス終了してしまうため、PerlやPythonのように、初期化そのものに時間がかかる実行環境だと不利。で、FastCGIはこれを解決するためのもの。
ってのも語弊があるかも。これはCでもそうだ。dynamic loadingのオーバーヘッドを考えたら、コンパイル済みのELFバイナリであっても常駐させたほうがよっぽど速い。
ウェブサーバ側(mod_fastcgiとか)と実行環境側(Perl-FCGIとかPython-FCGIとか)をペアで利用する。
実行環境側は初回実行時に処理待ちのwait loopに入る(つまり常駐する)。ウェブサーバ側では、実行環境側の起動、および実行環境側との通信を行う。
通信にはUNIX domain socketのほかに、TCP/IP socketも使える。つまり実行環境側を別サーバに置くこともできるのだ。
UNIX domain socketを使うのであれば、FastCgiIpcDirに注意。
Perlを使っているのであれば、似たようなものにSpeedyCGIなんてのもあるらしい。
2002-06-04 takano あとでこっちにもってきます。 ステータスコードパッチ
2002-08-28 takano
とりあえずメモ。
FastCGI for smalltalk
(2004-08-12 takano) モントラにも書いたけど、 mod_fcgid だそうです。
2006-10-26 takano
モントラにも書いたけど。
FastCGI for Ruby on Rails
2006-11-15 takano apache-2.2用のパッチは、こちらがシンプルでよいですぞ。 http://www.fastcgi.com/archives/fastcgi-developers/2005-December/004060.html
結局 WebServerInterfaceGateways として集約されることになったらしい。