关于浏览器原理中以及其中预解析这一节不是很明白

最近在研究浏览器原理,下面是我对浏览器原理的理解(不对的欢迎指正):
浏览器加载页面是有这么几个过程,

  1. 解析html构建dom,

  2. 与此同时css解析器会解析css生成cssom(这里也有一个问题就是,解析html跟css 是不是同时开始的,还是解析html遇到style或link标签时才开始解析css),

  3. 根据DOM和CSSOM,生成一棵渲染树,

  4. 布局,

  5. 绘制

上述过程是一个渐进的过程,也是单一线程控制的,我们称该为UI线程。在第一步解析html时,遇到script标签时,这时UI线程会挂起,会通知javascript引擎线程来执行它,如果是外部脚本先下载在执行。javascript引擎线程执行完后,UI线程开始一步步的按照上面的过程生成页面。

但是看到“处理脚本和样式表的顺序”一节中的预解析,对于他的描述不是很明白。
原文是这样讲的:

预解析
WebKit 和 Firefox 都进行了这项优化。在执行脚本时,其他线程会解析文档的其余部分,找出并加载需要通过网络加载的其他资源。通过这种方式,资源可以在并行连接上加载,从而提高总体速度。请注意,预解析器不会修改 DOM 树,而是将这项工作交由主解析器处理;预解析器只会解析外部资源(例如外部脚本、样式表和图片)的引用。

我不知道上面那预解析中的其他线程是不是指的firefox的同时下载图片,css的2个线程,chrome同时下载图片,css4个线程呀?不包括js脚本?
只有在javascript引擎线程来执行,这个其他线程才开台并行加载资源?

阅读 4k
3 个回答
✓ 已被采纳新手上路,请多包涵
新手上路,请多包涵

请问你这是在哪本书上看的呀?
我也有类似的问题,而且这五项分别详细展开,又是如何进行的,各个时间节点又是如何串起来的。希望有地方有讲解,但我不知道在哪儿..

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏