• CGI和FastCGI的区别


    CGIFastCGI的区别

    CGI是客户每请求一次会启动一个新的CGI解释器进程,然后执行CGI解释器进程获取返回数据,然后把返回数据返回给客户,然后结束CGI解释器进程,效率低,每起一个都会起一个进程CPU

    客户请求web服务器->启动CGI解析器->加载配置->链接其他服务器->逻辑处理->返回结果->退出

    fastCGI是在web服务器启动的时候就启动了进程,然后在客户请求的时候直接吧内容推给进程,然后返回个客户,最后是等待客户下次请求而不是说退出,与CGI不同的是他不需要单独起也不需要结束进程

    Web服务启动时启动进程(启动CGI解析器->加载配置->链接其他的服务)->客户请求web服务器->进入循环(逻辑处理+输出结果)

    一般情况下,FastCGI的整个工作流程是这样的:

      1.Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)

            2.FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。

            3.当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。

            4.FastCGI 子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时, 请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。

  • 相关阅读:
    个人作业2——英语学习APP案例分析
    结对编程1—— 基于界面的四则运算(38/39)
    个人作业1——四则运算题目生成
    软件工程实践项目课程的自我目标
    IE6/IE7/IE8/Firefox/Chrome/Safari的CSS hack兼容一览表
    微信小程序爬坑日记之蜜汁缩进
    微信小程序爬坑日记之背景图片设置
    你不知道的 js 保留字
    微信小程序爬坑日记之下拉刷新
    ES7-Es8 js代码片段
  • 原文地址:https://www.cnblogs.com/L-moye/p/14511496.html
Copyright © 2020-2023  润新知