likes
comments
collection
share

从输入URL到删掉URL“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的

作者站长头像
站长
· 阅读数 26

“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的信息,让我不知所措

总结一下这个流程的一些节点,但不会太详细。只列出节点,以及可能扩展出的概念或问题


浏览器首先会解析 URL。有可能是搜索,也有可能是对不同协议的操作

  • 协议类型有哪些
从输入URL到删掉URL“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的

浏览器主进程通知网络进程发起请求,网络进程会查检缓存

查询IP地址

  • DNS

发起 HTTP 请求

  • HTTP请求的格式
    • 请求行
      • 不同方法的作用
    • 消息头
      • 遇到哪些header 有什么作用
    • 消息体
  • 如果是 HTTPS
    • 加密方式
      • 对称加密
      • 非对称加密
    • 证书
      • CA
从输入URL到删掉URL“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的

委托协议栈发送数据

  • TCP
    • 建立连接&关闭连接
  • IP
从输入URL到删掉URL“输入URL到页面展示”,这是面试中会被问到的一个大话题,这个过程中的任何一段区间都包含着巨量的

服务器返回响应消息

  • 响应消息的格式
    • 不同状态码的含义

网络进程解析响应头

  • 重定向
  • 根据 Content-Type 确定响应体的数据类型
    • Content-Type 的值有哪些

浏览器主进程通知渲染进程提交文档

  • 渲染进程会和网络进程建立通道传输数据
  • 数据接收完毕后,渲染进程通知主进程“确认提交”,开始解析、渲染

渲染进程进行解析和渲染

  • 构建DOM树
  • 样式计算
    • 样式来源有哪些
    • “em”、“blue”、“bold”代表什么
    • 样式的继承
    • “Computed”样式
  • 构建布局树
  • 构建图层树
    • 层叠上下文
  • 为每个图层生成绘制列表
  • 绘制列表提交给合成线程,生成图块
  • 交给栅格化线程池,执行栅格化(将图块转为位图)
  • 栅格化完成,通知浏览器主进程把内容显示到屏幕

参考

book.douban.com/subject/269…

time.geekbang.org/column/arti…

time.geekbang.org/column/arti…

developer.mozilla.org/zh-CN/docs/…

转载自:https://juejin.cn/post/7414732978143166479
评论
请登录