网络请求,服务器返回html内容
- 输入一个url到浏览器
- 浏览器解析url解析出主机名
- 浏览器将主机名转换成服务器ip地址;先查找本地DNS缓存列表,没有的话,再向浏览器默认的DNS服务器发送请求,同时缓存
- 建立与目标服务器的TCP连接(三次握手,四次挥手)
- 浏览器解析文档
html解析
- 将HTML解析为一个DOM树
- 解析CSS构建CSSOM树
- 把DOM树和CSSOM树结合,生成有样式,有结构的render渲染树(display:none的东西不在渲染树中)
- layout--计算出每个节点再屏幕的位置
- 绘制,即遍历render树
其他
- html解析完一部分就显示出来,不会得到全部解析完在显示;
- 加载过程中外部的css和图片,会重新发送请求,异步请求;
- 遇到javascript文件会等到javascript解析完再继续解析HTML(因为javascript可能会修改DOM)
- 如果CSS文件阻塞,会阻碍HTML的渲染,但是不会阻碍HTML的解析