CGI的工作原理
1浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL。
2服务器收发到请求。
3服务器执行指定CGI应用程序。
4CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
5CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6网络服务器把结果返回到浏览器中。
CGI 和CG区别为:性质不同、起源不同、目的不同。
一、性质不同
1、CGI:是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。
2、CG:指计算机图形学,是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。
二、起源不同
1、CGI:起源于在1993年由美国国家超级电脑应用中心(NCSA)为NCSA HTTPdWeb服务器开发的。
2、CG:起源于1963年1月,MIT林肯实验室24岁的萨瑟兰完成了关于人机通信的图形系统的博士论文。
三、目的不同
1、CGI:CGI目的是要独立于任何语言的。以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行。
2、CG:CG目的在于创建有效的视觉交流。在科学领域,图形学可以将科学成果通过可视化的方式展示给公众。
名词解释:
js
javascript的简称。javascript是由网景公司出品的浏览器端脚本语言,用来实现浏览器端的交互功能开发。现已被标准化为ECMAScript。
ajax
ajax是Asynchronous Javascript And XML(异步javascript及XML)的缩写形式。是指一种创建交互式网页应用的网页开发技术。实际上传输的数据格式不仅仅是XML,还可以是json,binary等。
cgi
cgi是Common Gateway Interface(通用网关接口),是互联网上网页内容生成与应用的标准技术。可以简单理解为服务器根据浏览器的请求参数生成动态网页的一种技术。
在b/s架构中的所扮演的角色
js
浏览器端的编程语言
ajax
浏览器端用以发起跟cgi通信的基础api。
cgi是server端的处理请求及返回响应的服务器进程。
综述:
js是浏览器端实现动态性交互的基础,没有js的网页只能是静态网页,所有的交互必须通过http请求重新刷新网页。
ajax是实现网页类富客户端应用的前提条件。有了它网页可以在不刷新网页的基础上跟后端服务器进行数据交互。
cgi是处理客户端或浏览器端请求的服务器进程。我们用它来产生动态网页内容。
CGI是用了奔驰的新款发动机,是汽油直喷的,以前的发动机是自然吸气,喷油嘴把油喷在进气歧管里面的,CGI的发动机,喷油嘴把油喷到气缸里面。
CGI技术是一种奔驰公司开发的缸内直喷技术。供油动作已完全独立于进门与活塞系统之外,ECU也因而拥有更多的主导权。超乎传统喷射理论的稀薄燃烧与更多元的混合比便得以实现。在稳定行进或低负载状态下,采用缸内直喷设计的发动机得以进入Ultra lean(精实)模式。
在此设定下,发动机于进气行程时只能吸进空气,至于喷油嘴则在压缩行程才供给燃料,以达到节约的效果。根据实际测试,其最高能达到1:65的油、气比例,除了节能表现相当惊人,整体动力曲线也能够维持相当高的平顺度。而CDI则为该技术的柴油版本。
扩展资料:
发动机分类
1、按进气系统的工作方式可分为自然吸气、涡轮增压、机械增压和双增压四个类型。
2、按活塞运动方式可分为往复活塞式内燃机和旋转活塞式发动机两种。
3、按气缸排列型式分直列发动机,V型发动机、W型发动机和水平对置发动机等。
4、按气缸数目不同可以分为单缸发动机和多缸发动机。现代汽车多采用三缸,四缸、六缸、八缸发动机。
5、按冷却方式不同可以分为水冷发动机和风冷发动机。水冷发动机冷却均匀,工作可靠,冷却效果好,被广泛应用于现代车用发动机。
6、按冲程数可分为四冲程内燃机和二冲程内燃机。汽车发动机广泛使用四冲程内燃机。
7、按燃油供应方式分类:化油器发动机和电喷发动机以及缸内直喷发动机。
参考资料:
这个问题可以分两个层面讨论:
1 PHP 解释器是否嵌入 Web 服务器进程内部执行
mod_php 通过嵌入 PHP 解释器到 Apache 进程中,只能与 Apache 配合使用,而 cgi 和 fast-cgi 以独立的进程的形式出现,只要对应的Web服务器实现 cgi 或者 fast-cgi 协议,就能够处理 PHP 请求。
mod_php 这种嵌入的方式最大的弊端就是内存占用大,不论是否用到 PHP 解释器都会将其加载到内存中,典型的就是处理CSS、JS之类的静态文件是完全没有必要加载解释器。
2 单个进程处理的请求数量
mod_php 和 fast-cgi 的模式在每个进程的生命周期内能够处理多个请求,而 cgi 的模式处理一个请求就马上销毁进程,在高并发的场景下 cgi 的性能非常糟糕。
综上,如果对性能有极高的要求,可以将静态请求和动态请求分开,这时 Nginx + php-fpm 是比较好的选择。
PS: cgi、fastcgi 通常指 Web 服务器与解释器通信的协议规范,而 php-fpm 是 fastcgi 协议的一个实现。
让web服务器 ( IIS, APACHE, NGINX 等) 支持 php 方式 有 2 种,
通过模块加载的方式, 适用于 apache
通过 CGI/fastCGI 模式, 该模式一般web服务器都是支持的
引用一段解释
FastCGI是Web服务器和处理程序之间通信的一种协议,是CGI的一种改进方案,FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行,在请求到达时不会花费时间去fork一个进程来处理(这是CGI最为人诟病的fork-and-execute模式)。
正是因为它只是一个通信协议,它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
0条评论