浏览器加载顺序

772 阅读2分钟
浏览器的工作机制
  • 1、一句话概括就是浏览器与服务器通过http协议进行通信的过程。整个过程大致为:
  • 2、浏览器输入url开始,浏览器通过DNS解析域名映射的ip地址,然后浏览器向此IP发起连接请求,
  • 3、链接成功之后,浏览器将请求头信息通过http协议向此IP的服务器发起请求,服务器接收到请求之后等待处理,最后向浏览器返回响应,
  • 4、此时在http协议下,浏览器从服务器接收到的是text/html类型的代码,浏览器开始显示html,
  • 5、并获得html中的内嵌资源地址,然后浏览器再发起请求来获取这些资源,并在浏览器的html中显示。
浏览器加载显示html页面内容的顺序:
  • 1、IE下载的顺序是从上到下,渲染顺序也是从上到下,下载和渲染同时进行
  • 2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是所有向关联的元素都下载完成)
  • 3、如果遇到语义解释下的标签嵌入文件(js脚本、css解释下语言),下载过程会启动单独连接进行下载
  • 4、并且在下载完成后,进行解析,解析过程中,会停止页面所有往下元素的下载
  • 5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有的元素(包含已经渲染过的)重新进行渲染 6、js、、css中如有重定义,后定义函数将覆盖前定义函数
js加载

js加载执行过程中不能并行下载和解析。当引用js时候,浏览器会发生一个jsrequest请求,就会一直等待该request请求的返回。因为浏览器需要1个文档的DOM结构,而js中有可能有代码直接改变DOM树结构,比如使用document.write或appendChild,甚至是直接使用location.href进行跳转,浏览器为了防止出现js修改DOM树,需要重新构建DOM树的情况,所有就会阻塞其他的下载和呈现。