BigPipe的正确使用姿势

BigPipe目标:前后端分离,提高页面渲染速度

BigPipe解决的问题:
1、下载堵塞
2、服务端下载浪费

一般的网页加载是直接通过访问服务器,发送请求,收到返回数据,然后渲染

一般堵塞模型:
后端渲染页面→网络延迟→浏览器端页面渲染,所有的数据一次性渲染

BigPipe思路,分块加载,一次请求,多次返回
1、浏览器发送一次请求;
2、服务端收到请求后,开始处理请求;
3、服务器端按预先写好的控制流程,开始分块渲染HTML;
4、如果渲染完了向浏览器端发送数据;
5、浏览器端收到分块数据后开始渲染

BigPipe堵塞模型(类似于CPU分级流水)

 pagelet 1    |    服务器端计算    网络传输      浏览器渲染
              |
 pagelet 2    |             服务器端计算        网络传输      浏览器渲染
              |
 pagelet 3    |                      服务器端计算        网络传输        浏览器渲染
 _____________|________________________________________________________________

 分级传输极大提高了首页渲染效率

二、BigPipe VS Ajax
BigPipe: 1、发送一个请求后多次返回数据
2、浏览器和服务器工作并行执行
3、只有一个请求,对服务器压力少
AJAX: 1、发送一个请求后只返回一次数据
2、浏览器和服务器工作顺序执行
3、有多个请求,对服务器压力大

阅读 5.2k

推荐阅读
Lapsec
用户专栏

hi~~我叫陈旭元

12 人关注
26 篇文章
专栏主页
目录