亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

3、Webserver如何處理動態文件

標簽:
PHP

1、webserver处理动态文件的方式

  • 模块化即把处理动态文件的引擎当成模块集成进webserver中

  • CGI通信协议

2、实现方式

2.1、模块化

https://img1.sycdn.imooc.com//5cd060220001497005040167.jpg

a、过程描述:

  • 客户端发起动态文件请求

  • webserver接收到请求,根据其配置文件的内容,交由至对应的动态模块处理


b、要点:

    把动态处理模块当成是webserver的一个子模块。

2.2、CGI

    通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。

https://img1.sycdn.imooc.com//5cd0602f0001cc3106170216.jpg

a、过程描述:

  • 客户端发起动态文件请求

  • webserver接收到请求,交由至对应的CGI处理

  • CGI创建子进程,由其处理该请求内容,并等待结果返回。

b、要点:

    CGI这种每次调用都需要创建子进程的方式。一来是创建子进程的开销昂贵,二来是经不起大并发量。

2.3、fastCGI

    它是 CGI 的增强版本,采用master-worker的方式,改进了CGI中(fork-execute-exit)的诟病,用于减少 Server 与 CGI 应用之间的交互开销,从而使 Server 可以同时处理更多的请求。

https://img1.sycdn.imooc.com//5cd0603a0001663207120245.jpg

a、过程描述:

  • fastCgi启动,根据其配置文件,创建一个master和n个worker进程,开始监听并等待请求

  • 客户端发起动态文件请求

  • webserver接收到请求,根据配置文件,通过socker转发至对应的fastcgi请求,并等待结果返回

b、要点:

  • 通过socket通信方式,连接了 webserver和fastcgi。

  • 其次,fastcgi先创建工作进程的方式,避免了CGI(fork-execute-exit)的诟病。并根据采用master和worker的方式,master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方

3、协议实现

3.1、php-cgi

    php-cgi是php的解释器,是cgi协议的实现

3.2、php-fpm

    php-fpm是管理和实现fastCGI的管理器


點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
PHP開發工程師
手記
粉絲
4
獲贊與收藏
37

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消