CGI技术简介
接上上文,Apache+PHP+THINKPHP框架在windows上的搭建,当时直观认为CGI就是一个运行的程序,但是不求甚解,现在对于CGI做一个稍微详细的了解
参考链接,挺详细的,就不复制粘贴了,简书上的一篇文章,有图有文字,CGI是什么
总结一下几个要点
- CGI是Web服务器和一个独立的进程之间的协议,作为实现早起静态web服务器实现动态网页技术的通用网关接口
- 通常所说的CGI指代其实是CGI程序,也就是实现了CGI接口标准的程序
- CGI的实现则与具体的编程语言相关,所有具有标准输入、标准输出和环境变量的编程语言都可以用来实现CGI
- CGI的实现是通过新的处理进程实现的
- PHP-CGI是CGI的php实现,每次都需要重新读取配置文件生成php解释器进行请求处理
- 模块方式是CGI的优化,在服务器启动的时候即启动读取配置文件启动php解释器,请求到来时只需要利用模块解释php文件即可
- fastCGI是CGI进一步的升级,PHP-FPM是该协议的php实现,通过进程管理器管理多个驻留在内存中的php解释器进程,每次请求重新处理php文件
总之,CGI技术应该算是动态网页技术的先驱,有其存在的合理性。理解到这其实差不多也够了吧。