具体分析
首先我们来看一个示例的html页面,如下:
html>
它有如下几种资源:
3个外部js文件,1个inline js代码
1个外部css文件, 1个inline css代码
1个image文件,及1个js请求的image
总共是6个http request...基于相关的调研, 我的理解为, 对于一个URI请求, 浏览器会按照下面的请求和执行顺序进行:
一个线程对DOM进行下载(也就是html, 而不去管html中的外部资源)
另外一个线程会开始分析已经下载的...Firefox
有如下特征:
首先下载html
html下载完成后, 从上到下依次下载外部文件(js, css,img)
js会block其它外部文件的下载
其它文件会并行下载
chrome
有如下特征...:
首先下载html
从上到下依次下载外部文件(js,css,img)
各个资源的下载顺序是并行的
你可能会奇怪如果js可以并行下载,那么可能位于DOM下面的代码会先执行, 首先可以肯定的是 即使下面的