当前位置:网站首页>简述CGI与FASTCGI区别

简述CGI与FASTCGI区别

2022-06-12 13:42:00 wwzroom

CGI:Common Gateway Interface 公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口,主要是web服务器用于处理动态资源请求时,调用网络服务器的接口。

请求流程:
Client – (http协议) --> httpd – (cgi协议) --> application server (program file) – (mysql协议) --> mysql
web服务器会根据这次请求的内容,然后会 fork 一个新进程来运行外部的 C 程序或者bash,perl脚本等,这个进程会把处理完的数据返回给web服务器,最后web服务器内容发送给用户,刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周而复始的进行。

fastcgi:FastCGI(Fast Common Gateway Interface)全称是“快速通用网关接口”,是通用网关接口(CGI)的增强版本,由CGI发展改进而来,主要用来提高CGI程序性能,类似于CGI,FastCGI也是一种让交互程序与Web服务器通信的协议。
请求流程:
Client – (http协议) --> httpd – (fastcgi协议) --> fastcgi服务器 – (mysql协议) --> mysql

fastcgi的方式是,web服务器收到一个请求时,不会重新fork一个进程(因为这个进程在web服务器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程(进程间通信,但fastcgi使用了别的方式,tcp方式通信),这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下一个请求的到来,而不是退出

CGI和fastcgi 比较
CGI: 兼职, 一次性的过河拆桥式的服务
FASTCGI: 专职,全周期的持续式的服务

在这里插入图片描述
在这里插入图片描述

原网站

版权声明
本文为[wwzroom]所创,转载请带上原文链接,感谢
https://blog.csdn.net/aa896517050/article/details/125204682