什么是CGI模式?

什么是CGI模式?,cgi,Cgi,当我们说应用程序可以在CGI模式下运行时,这意味着什么?我在cmsmatrix.org上查看了各种CMS系统的功能,“CGI模式支持”被列为一项功能。web应用程序可以运行的其他“模式”有哪些?CGI代表“公共网关接口”,这是web应用程序的旧体系结构。CGI的工作原理是将HTTP请求和fork/exec()中的变量放置在CGI进程中。它在web开发的早期很受欢迎,因为它在unix主机上运行良好。Perl/CGI是这个时代流行的体系结构,它极大地促进了Perl作为一种语言的普及 CGI的主要名声

当我们说应用程序可以在CGI模式下运行时,这意味着什么?我在cmsmatrix.org上查看了各种CMS系统的功能,“CGI模式支持”被列为一项功能。web应用程序可以运行的其他“模式”有哪些?

CGI代表“公共网关接口”,这是web应用程序的旧体系结构。CGI的工作原理是将HTTP请求和fork/exec()中的变量放置在CGI进程中。它在web开发的早期很受欢迎,因为它在unix主机上运行良好。Perl/CGI是这个时代流行的体系结构,它极大地促进了Perl作为一种语言的普及


CGI的主要名声在于它不需要太多的管道,所以它可以与大多数web服务器一起工作。主要缺点是fork-exec进程很慢,因为必须启动CGI脚本(这可能涉及启动perl或其他解释器)。在Windows上,生成新进程比unix慢得多,因此CGI效率更低。

CGI代表“公共网关接口”,这是web应用程序的旧体系结构。CGI的工作原理是将HTTP请求和fork/exec()中的变量放置在CGI进程中。它在web开发的早期很受欢迎,因为它在unix主机上运行良好。Perl/CGI是这个时代流行的体系结构,它极大地促进了Perl作为一种语言的普及

CGI的主要名声在于它不需要太多的管道,所以它可以与大多数web服务器一起工作。主要缺点是fork-exec进程很慢,因为必须启动CGI脚本(这可能涉及启动perl或其他解释器)。在Windows上,生成新进程比unix慢得多,因此CGI效率更低。

是web服务器用来调用服务器上可执行文件的协议。在收到请求后,它将有关请求的信息发送到cgi脚本,并将该脚本的结果返回到浏览器

另一种选择是fastcgi。这意味着,web服务器不会联系脚本来响应请求,而是联系一个进程。通信协议仍然是相同的(因此得名)。

是web服务器用来调用服务器上可执行文件的协议。在收到请求后,它将有关请求的信息发送到cgi脚本,并将该脚本的结果返回到浏览器


另一种选择是fastcgi。这意味着,web服务器不会联系脚本来响应请求,而是联系一个进程。通信协议仍然是相同的(因此得名)。

基本上,CGI意味着Web服务器将执行一个外部进程,获取其结果(生成的HTML页面、图像等),并将其发送回客户端

这有很大的缺点,因为它会在每次需要时启动外部进程,所以这可能是一个很大的开销

您还有一个FastCGI,它一次启动外部进程,并在需要时重用它

但通常,语言直接集成在Web服务器中。
例如,Apache有一个mod_perl模块来执行perl脚本,而不是通过CGI执行perl脚本。基本上,CGI意味着Web服务器将执行一个外部进程,获取其结果(生成的HTML页面、图像等)并将其发送回客户机

这有很大的缺点,因为它会在每次需要时启动外部进程,所以这可能是一个很大的开销

您还有一个FastCGI,它一次启动外部进程,并在需要时重用它

但通常,语言直接集成在Web服务器中。 例如,Apache有一个mod_perl模块来执行perl脚本,而不是通过CGI执行perl脚本