最新消息:欢迎加入小松的QQ群一起讨论一起学习,服务器快到期了,新买了台服务器,最近要做服务器迁移

fastcgi与cgi的区别和处理请求方式

其他分享 1175浏览 0评论

最早的Web服务器只处理静态的html文件

随着技术的不断发展,网站越来越复杂,然后出现到动态网站,但是服务并不能直接运行php,asp这个的动态语言文件
然后出现了cgi,cgi只是接口协议,看下面的流程图

cgi只是接口协议流程图

cgi是怎么执行动态请求的
web服务器接受到请求,然后根据内容,fork一个新进程,这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出,如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程。这个方式的问题在与每次请求都要新开一个进程,用完之后又要关闭,这是CGI最为人诟病的fork-and-execute 模式,效率上比较低
后来出现了一种更高级的方式,web服务器收到一个请求时,他不会重新fork一个进程(因为这个进程在web服务器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程,这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下一个请求的到来,而不是退出。 这就是fastcgi。效率上比cgi高很多。

目前使用过程中一般都使用fastCGI,没有在使用cgi了

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» fastcgi与cgi的区别和处理请求方式
本文链接地址:https://www.phpsong.com/358.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!