中易网

如何通俗地解释 CGI,FastCGI,php-fpm 之间的关系

答案:2  悬赏:50  
解决时间 2021-03-03 05:31
如何通俗地解释 CGI,FastCGI,php-fpm 之间的关系
最佳答案
CGI是HTTP Server和一个独立的进程之间的协议,把HTTP Request的Header设置成进程的环境变量,HTTP Request的正文设置成进程的标准输入,而进程的标准输出就是HTTP Response包括Header和正文。
FASTCGI是和HTTP协议类似的概念。无非就是规定了在同一个TCP连接里怎么同时传多个HTTP连接。这实际上导致了个问题,有个HTTP连接传个大文件不肯让出FASTCGI连接,在同一个FASTCGI连接里的其他HTTP连接就傻了。所以Lighttpd? 引入了 X-SENDFILE 。
php-fpm就相当于是Apache+mod_php。无非php-fpm自带了FASTCGI Server,而Apache是HTTP Server。
那个WSGI和这个问题没啥关系吧。WSGI这个只是Python内部的一个接口。无论你前面是FASTCGI,HTTP,SCGI,uWSGI等协议,你的FASTCGI/HTTP/SCGI/uWSGI Server都以相同的参数格式去调用一个函数,这样你用Python写的Web应用并不需要修改代码,就可以运行在不同的Server后面了。无非CGI协议是进程间的,而WSGI是进程内的。
全部回答
通俗的可以把服务器看作餐厅,用户请求看作来用餐的顾客,服务器处理请求看作解决顾客的就餐问题(响应输出一份饭)。 服务器上静态资源看作已做好的饭,只要放到餐盒里就可以返回给顾客,动态资源需要厨房大厨现成做份再放到餐盒里返回给顾客。 php_mod这个大厨有个特点,看见有顾客进门就点火,不管顾客要不要现做的,有点浪费资源 php_fpm这个大厨有好多小弟一直点着火(多个处理进程),等有顾客说要现做,大厨就安排小弟做份返回给客户 cgi也是个大厨,不过他等到顾客要现做,他才点火,做饭,然后熄火。等待下一个要现做的到来 fastcgi呢就是个大厨雇了一帮小弟,专门做需要现场做的饭,大厨只管分派任务,小弟真正操锅做饭 作者:code diy 链接:https://www.zhihu.com/question/30672017/answer/53238751 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 他写的,应该很清楚
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
想给女朋友买个手机,荣耀7还是小米4更适合女
高青县职中乱不乱
正弦波与方波哪种好,哪个的利用率高些?
鹤立林区司法局我想知道这个在什么地方
一个人分一个苹果少一个苹果不够分。如果一个
国泰产险浙江分公司地址有知道的么?有点事想
湖南百货批发部我想知道这个在什么地方
比8少50%的数是多少
途观换起动机多少钱4s店
夏天什么样的纸尿裤才透气?安儿乐小轻芯好用
恒建联金属制品公司这个地址在什么地方,我要
丰田凯美瑞发动机共振大的原因
翻译 I'm hung up on you
一块长方形草地,长15分米,宽7分长,这块草
弹力素和发胶有什么不同?
推荐资讯
这是韩国什么综艺节目?哪一集?
九九中的小虎的扮演者
买庐山的门票能不能刷银行卡
祥瑞宾馆在什么地方啊,我要过去处理事情
民间借贷一毛五的利息算高利贷吗合法吗?
来一口炸鸡汉堡地址在哪,我要去那里办事
网王小说(女主是做陶瓷的)
森达装饰在什么地方啊,我要过去处理事情
环城北路/中都北路(路口)地址在哪,我要去那
韩国水光面膜为什么用完脸部会搓出泥
事故的发生纯属巧合的翻译是:什么意思
空调不用时外面的风会通过管道进入室内吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?