浏览器解析Html一般是边下载边渲染么?如果是边下载边渲染的话,Html又使用GZIP格式传输,如何能够做到没有完全下载就可以渲染的呢?

关注者
135
被浏览
5329

7 个回答

因为gzip是流式的压缩格式,可以做到边下载边解压。

另外有个概念的问题,不是说html是gzip压缩后的格式,而是HTTP协议可以使用gzip压缩的方式来传输html文件。
浏览器先下载html,然后在内存中把html代码转化成Dom Tree,然后浏览器根据Dom Tree上的Node分析css(sandbox modle )和Images【所以css和images是并行下载】,当文档下载遇到js时,js独立下载(因为在js中很可能存在有影响Dom Tree结构的代码,如document.write,所以浏览器设计js为独立进程,另:行间js将阻塞所有html代码的下载),最后浏览器完成页面渲染,形成最终的“呈现树”(Render Tree或Frame Tree)。
至于Gzip压缩,如蒋又新所言:gzip压缩是指http协议传输过程中使用的一种压缩方式,属于概念理解问题