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、有多个请求,对服务器压力大
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。