BigPipe:高性能的加载方案
What? BigPipe 是 Facebook 工程师蒋长浩于 2010 年的 Velocity 大会上分享的一个议题,它的提出主要是为了解决重数据页面的加载速度问题,这在业界引起了巨大的反响。 BigPipe 是一个重新设计的基础动态网页体系,它将传统的网页分解成了一个个 pagelet。先向客户端输出页面的基础框架(钢筋房),然后再按需加载页面所有的数据(装修),最终完成整个页面的渲染。虽然说这是一个重构的基础动态网页体系,但是我们不需要改变现有的通信机制(B/S),因为它完全是基于 PHP 和 Javascript 来实现的(如今 Node 也可以实现了)。 Why? 在知道为什么需要 BigPipe 之前,我们先来了解传统的动态网页体系,这是一个十几年的老家伙了,它的服务质量已经无法满足今天用户的需求了。在传统的体系下,用户请求的生命周期如下: 浏览器向服务器发送一个请求 服务器解析请求,从存储中读取数据,然后制定一个 HTML 文本,并通过一个 HTTP 响应将其发送到浏览器 HTTP 响应通过网络传输到服务器... Read more »