Apache服务之CGI和FastCGI
纸上得来终觉浅,绝知此事要躬行。

1. CGI
CGI(Common Gateway Interface)通用网关接口,CGI技术可以让用户使用服务器所支持的编程语言(C/C++/Perl/Bash/PHP)来处理任何操作,最初的设计目的是增加用户的交互性并提供一些对服务器的基本访问,如数据库的查询、数据添加等工作。
CGI 的工作原理
- CGI允许Web页面通过服务器执行任何程序,当服务器收到执行的请求时会将请求信息头和一些环境变量传送给CGI脚本,CGI脚本在独立于Apache服务器外的内存空间内运行,并将运行结果返回给Apache,最后Apache将结果包含在HTTP页中发送给用户。
CGI 的实现方式
- 在早期的Apache服务器中,CGI是通过mod_CGI模块来实现的
- 目前的Apache版本中,Apache会根据不同的平台自动选择运行不同的CGI模块
- 在非线程平台(worker)上使用mod_cgi模块,在线程型平台(prefork)上使用mod_cgid模块