聊浏览器渲染过程

聊浏览器渲染过程

网络

  • DNS(domain name system)

    • Host
      • 缓存
        • 浏览器 操作系统(hosts) ISP
  • TCP(Transmission Control Protocol)

    • 三次握手
      • A -> B (a ->) SYN(x) synchronization(同步)
      • B -> A (b <- & b -> ) SYN(y) & ACK(x + 1)
      • A -> B (a <-) ACK(y + 1)
      • http
    • 四次挥手
      • A -> B FIN(x)
      • B -> A ACK(x + 1)
      • B -> A FIN(y)
      • A -> B ACK(y + 1)
  • HTTP(request & response)

    • HEAD
      • method
      • url
      • content-type
      • connection: keep-alive
      • Accept(req)
      • Host(req)
      • statusCode(res)
      • set-cookie(res)
      • content-encoding
  • 浏览器渲染

    • HTML解析过程
      • 下载HTML -> 解析HTML -> 下载CSS -> 解析CSS -> 下载JS -> 执行JS(阻塞)
    • 阻塞(js要操作DOM)
      • async defer (搜script async vs defer)
      • css 可以阻塞 js 执行
    • 渲染过程
      • DOM + CSSOM -> Render Tree(节点样式,对应关系) -> Layout(弄清每个对象在网页上的确切大小和位置) -> Paint(将渲染树转换成屏幕上的像素) -> Composite(处理透明元素和重叠元素的显示)
      • 触发reflow
        • 读(offsetTop,scrollTop,clientTop,getComputedStyle())
      • 只触发reflow(查csstriggers)
        • 不设计到布局更改 transform,color, border-style, background, outline, box-shadow
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容