公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。
因为原始CGI每处理一次请求,就需要创建一个新的CGI进程,效率低下,几乎已经没有人使用。取而代之的是FastCGI,每次请求都与同一个守护进程交互。
快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使服务器可以同时处理更多的网页请求。
Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
每个Servlet类都需要实现int,service,destroy三个方法。Servlet容器只会加载一次Servlet实例并调用init方法,对于后续请求调用service方法进行处理,当Servlet实例销毁时调用一次destroy方法。
随着技术的不断发展,FastCGI 和新的高性能框架 swoole,Vert.x 等技术的发展,在技术选型时更多考虑的是团队的技术栈以及开发成本,两者之间的区别不再是主要的考虑因素。
原文:https://www.cnblogs.com/gkenan/p/12904893.html