从输入URL到删掉URL“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的
“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的信息,让我不知所措
总结一下这个流程的一些节点,但不会太详细。只列出节点,以及可能扩展出的概念或问题
浏览器首先会解析 URL
。有可能是搜索,也有可能是对不同协议的操作
- 协议类型有哪些

浏览器主进程通知网络进程发起请求,网络进程会查检缓存
查询IP地址
- DNS
发起 HTTP 请求
- HTTP请求的格式
- 请求行
- 不同方法的作用
- 消息头
- 遇到哪些header 有什么作用
- 消息体
- 请求行
- 如果是 HTTPS
- 加密方式
- 对称加密
- 非对称加密
- 证书
- CA
- 加密方式

委托协议栈
发送数据
- TCP
- 建立连接&关闭连接
- IP

服务器返回响应消息
- 响应消息的格式
- 不同状态码的含义
网络进程解析响应头
- 重定向
- 根据 Content-Type 确定响应体的数据类型
- Content-Type 的值有哪些
浏览器主进程通知渲染进程提交文档
- 渲染进程会和网络进程建立通道传输数据
- 数据接收完毕后,渲染进程通知主进程“确认提交”,开始解析、渲染
渲染进程进行解析和渲染
- 构建DOM树
- 样式计算
- 样式来源有哪些
- “em”、“blue”、“bold”代表什么
- 样式的继承
- “Computed”样式
- 构建布局树
- 构建图层树
- 层叠上下文
- 为每个图层生成绘制列表
- 绘制列表提交给合成线程,生成图块
- 交给栅格化线程池,执行栅格化(将图块转为位图)
- 栅格化完成,通知浏览器主进程把内容
显示到屏幕
参考
time.geekbang.org/column/arti…
转载自:https://juejin.cn/post/7414732978143166479