facebook的网站速度做为最枢纽的公司任务之一。
1. 哀求解析:web服务器解析和完整性检查的http哀求。重叠web服务器的天生时间与浏览器的渲染时间,我们不仅可以减少终极的时间延迟,也能使网页更早显示用户可见区域给用户,从而大大减少用户对延迟的感知。
为了更好的了解bigpipe,我们需要了解一下现有的动态web服务系统,它的历史可以追溯到万维网的初期,但现在与初期比拟却并没有多少改变。现代网站有着远远高于10年前的动态效果和互动性,但传统的网页服务系统早已无法跟上当今互联网速度的要求。然而,这些优化却很少涉及web服务器和浏览器的执行顺序造成的瓶颈。任何一个查询延迟都将拖慢整个终极文件的天生。
2. javascript中下载:浏览器下载网页中javascript引用的资源。当web服务器完成天生页面,并将其发送到浏览器,浏览器则成为机能瓶颈并且web服务器对其无从匡助。这是类似于大多数现代微处理器的流水线执行过程:多重指令管线通过不同的处理器执行单元,以达到机能的好。在传统的模式,用户哀求的生命周期如下:
bigpipe是一个重新设计的基础动态网页服务体系。一些如延时加载javascript、并行下载等优化技术已被网络社区广泛采用,以此来克服的一些限制。
3. 标记天生:web服务器天生的响应的html标记。
4. css的下载:浏览器下载网页的css的要求。固然 bigpipe是对现有的服务网络基础过程的重新设计,但它却不需要改变现有的网络浏览器或服务器,它完全使用php和javascript来实现。大体思路是,分解网页成叫做pagelets的小块,然后通过web服务器和浏览器建立管道并治理他们在不同阶段的运行。当web服务器正忙天生一个页面,浏览器处于闲置状态,铺张其周期无所事事。在本文中,我将向大家先容我们的秘密武器之一,我们称之为bigpipe的伟大底层技术。正如流水线微处理器划分一个指令的生命周期为(如“取指令”,“指令解码”,“执行”,“写回寄存器”等)多个阶段,bigpipe的页面天生过程分为以下几个阶段:
bigpipe如何工作
web服务器的产生时间和浏览器的渲染时间重叠,是特别有用的,如facebook这样内容丰硕的网站。
5. 网络传输:响应从web服务器传送到浏览器。
要利用该web服务器和浏览器之间的并行性,bigpipe首先分解网页成多个可调用的pagelets。
6. css资源下载后,浏览器解析它们,并将它们应用到dom树。在传统的网页呈现模式的用户将不得不等到这些查询数据都返回并天生终极文件,然后将其发送到用户的电脑。
7. 浏览器解析web服务器的响应,使用html文件构建了一个的dom树,并且下载引用的css和javascript文件。
8. dom树结构和css样式:浏览器构造的dom文档树,然后应用它的css规则。
9. web服务器解析哀求,然后读取数据存储层,制定一个html文件,并用一个http响应把它发送到客户端。一个典型的facebook的网页包含很多来源不同的数据资料:挚友名单,挚友动态,广告等。
10. http响应通过互联网传送到浏览器。而恰是我们的工程师团队的几个枢纽的立异使它成为可能。
11. javascript资源下载后,浏览器解析并执行它们。
传统模式在现代网站中效率长短常低下的,由于良多系统的操纵顺序,不能互相重叠。在2009年,我们成功地实现了facebook网站速度晋升两倍 。
12. 浏览器发送一个http哀求到web服务器。
13. 数据获取:web服务器从存储层获取数据。
对于网站改版,需要注意哪些地方企业如何打破网站陈旧布局板式实现创新?建设网站的内容清单东莞家装微信小程序开发如何找到稀缺的云计算人才百度站内搜索存在着哪些优势?企业网站建设需要注意的一些问题百度推广如何给我带来客户和订单