Facebook BigPipe - 基础动态网页服务体系


未知
跨平台
PHP

软件简介

BigPipe是一个重新设计的基础动态网页服务体系。大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理
他们在不同阶段的运行。这是类似于大多数现代微处理器的流水线执行过程:多重指令管线通过不同的处理器执行单元,以达到性能的最佳。虽然BigPipe是
对现有的服务网络基础过程的重新设计,但它却不需要改变现有的网络浏览器或服务器,它完全使用PHP和JavaScript来实现。

BigPipe如何工作

要利用该Web服务器和浏览器之间的并行性,BigPipe首先分解网页成多个可调用的Pagelets。正如流水线微处理器划分一个指令的生命周期为(如“取指令”,“指令解码”,“执行”,“写回寄存器”等)多个阶段,BigPipe的页面生成过程分为以下几个阶段:

  1. 请求解析:Web服务器解析和完整性检查的HTTP请求。

  2. 数据获取:Web服务器从存储层获取数据。

  3. 标记生成:Web服务器生成的响应的HTML标记。

  4. 网络传输:响应从Web服务器传送到浏览器。

  5. CSS的下载:浏览器下载网页的CSS的要求。

  6. DOM树结构和CSS样式:浏览器构造的DOM文档树,然后应用它的CSS规则。

  7. JavaScript中下载:浏览器下载网页中JavaScript引用的资源。

  8. JavaScript执行:浏览器的网页执行JavaScript代码。