您的位置:首页 >> Web开发 >> CGI技术 >> 正文
CGI技术 RSS
 

实战 FastCGI

http://www.rdxx.com 06年04月21日 07:01 网海之贝 我要投稿

关键词: FastCGI

image/x-xbm, image/gif, application/postscript, */*;q=0.01
HTTP_ACCEPT_ENCODING=gzip, compress
HTTP_ACCEPT_LANGUAGE=en
HTTP_HOST=localhost
HTTP_NEGOTIATE=trans
HTTP_USER_AGENT=Lynx/2.8.1pre.9 libwww-FM/2.14
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/sbin:/opt/kde/bin:/home/m
yhsu/bin:/usr/X11R6/bin:/usr/sbin:/opt/kde/bin:/usr/X11R6/bin:/usr/sbin:/opt/kd
e/bin
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_PORT=1427
REQUEST_METHOD=GET
REQUEST_URI=/fcgi-bin/echo.fpl
SCRIPT_FILENAME=/usr/local/www/fcgi-bin/echo.fpl
SCRIPT_NAME=/fcgi-bin/echo.fpl
SERVER_ADMIN=myhsu@localhost.localdomain
SERVER_NAME=localhost.localdomain
SERVER_PORT=80
SERVER_PROTOCOL=HTTP/1.0
SERVER_SIGNATURE=

Apache/1.3.6 Server at localhost.localdomain Port 80
SERVER_SOFTWARE=Apache/1.3.6 (Unix) mod_fastcgi/2.2.2
UNIQUE_ID=N1VIbX8AAAEAAAQnKKo
More on its way ... wait a few seconds
Initial environment:

同样的,如果持续连结 http://localhost/fcgi-bin/echo.fpl 可以看到 Request Number 不断增加,表示 echo.fpl 已经被激活而且持续执行着。

至此,一个可供执行 FastCGI 程序的网站服务器以及撰写 FastCGI 程序的开发环境已经建置完成,接下来就只等着新的程序放上去啰。

3. 撰写 FastCGI 应用程序

撰写全新的 FastCGI 应用程序,或是将旧有的 CGI 程序改写成 FastCGI 应用程序都非常的简单,只要使用 fcgi-devkit 所附的 fcgi_stdio 函式库即可。

基本上,fcgi_stdio 函式库已被设计成让开发人员撰写 FastCGI 应用程序就像写一般 CGI 程序一样,同时做到程序保有和 CGI 最大的兼容度,又能享受到 FastCGI 所带来的优点。使用 fcgi_stdio 函式库的另一项好处是,编译出来的执行档可同时以 CGI 以及 FastCGI 的方式执行。

3.1 程序架构
对 CGI 程序而言,其生命期就是从一个联机请求 (request) 开始到联机结束。而 FastCGI 程序就像是比较『长命』的 CGI 程序,其生命期横跨不同的联机请求,可从 Web 服务器激活开始到 Web 服务器停止。

由于 FastCGI 程序长命的特性,它和一般 CGI 程序主要的差异就在于把初始化 (initialization) 的部份和处理联机请求的部份区分开来,程序的架构如下所示:

Initialization Code
Start of response loop

body of response loop
End of response loop

Initialization Code 的部份只会在 FastCGI 程序激活时执行一次,程序初始化的部份像是内存的配置,建立和数据库的联机等都可以写在这里。


 
 
标签: FastCGI 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站