一、浏览器请求、加载
- 地址栏网址缓存
- 检查 HSTS 预加载列表 (307)
- DNS 缓存
- ARP(地址解析协议)缓存
- TCP 发送缓冲区 & 接收缓冲区
- HTTP 请求缓存( CDN 节点缓存、代理服务器缓存、浏览器缓存、后端动态计算结果缓存等 )
二、浏览器渲染
- 处理HTML并构建dom tree
- 处理css并构建 css tree
- dom tree 和 css tree 合并成 render tree
- render tree 结合layout(层级上下文)生成render layer
- reder layer 和 graphics layer 合并成页面
说明:
脚本执行的时机:
1.script 加载到时立即执行
2.script defer 页面解析时异步按序执行DomcontentLoad之前完成
3.script async 脚本加载完成异步无序执行,不一定在DomcontentLoad之前或之后,一定在onload之前完成