《深入浅出 Node.js》阅读随笔
Web 应用中页面渲染的大概过程:服务器端的页面渲染包含内容响应和视图渲染两部分。前端通过异步方式向服务器发出 http 请求,然后获取报文内容,包括:html 模版框架、页面中需要展示的各种数据等。然后使用呈现容器浏览器将报文内容解析后填充进去,最终就把页面内容展示出来了。
存在的问题:由于 JavaScript 是通过异步方式来执行的,因此,最终的呈现结果所花费的时间,取决于多个 http 请求中响应最慢的那一个,等所有请求都完成响应之后,页面才能正常展现出来了,在整个加载过程中,用户可以看到的,只是一个白色的空白页面(或者 UI 加载/等待文案等),体验不是很友好。
隆重有请 Bigpipe:此处先强调一下:是 Bigpipe 而不是流调试工具 Bagpipe。Bigpipe 是 FackBook 提出的一种前端渐进式渲染思想。Bigpipe 通过渐进的方式,首先将加载最快的 html 页面模版框架展现出来,然后在接下来的异步内容请求过程中,逐次优先展现已完成请求响应的数据内容,直到加载完毕。按照 Bigpipe 优化后的页面,在给用户呈现时,就会是这样:首先映入眼帘的是一个短暂没有数据的页面,然后页面内容逐渐显示出来。使用体验要比之前的空白等待好很多。
网友评论