美文网首页
浏览器加载页面的过程

浏览器加载页面的过程

作者: LenHong | 来源:发表于2019-06-28 14:30 被阅读0次

    从浏览器输入网址到显示网页的过程如下

    1. 浏览器根据输入的域名从 DNS 服务器得到域名的 IP 地址

    2. 向这个 IP 的服务器发送 HTTP 请求

    3. 服务器收到、处理并返回 HTTP 请求

    4. 浏览器得到返回内容

    5. 根据 返回的HTML 结构生成 DOM 树(有一些不可见的DOM元素不会插入到渲染树中,如head或者display: none)

    6. 根据 返回的CSS 生成 CSSOM

    7. 将 DOM 和 CSSOM 整合形成 RenderTree

    8. 布局render树(Layout/reflow),负责各元素尺寸、位置的计算

    9. 绘制render树(paint),绘制页面像素信息

    10. 浏览器会将各层的信息发送给GPU,GPU会将各层合成(composite),显示在屏幕上

    解析页面遇到外链接时会单独开启一个线程去下载资源,大致有一下三大类

    • CSS样式资源(异步下载,不会阻塞浏览器构建DOM树,但是会阻塞渲染)

    • JS脚本资源(阻塞浏览器的解析,加上defer可以延迟执行,async可以异步执行)

    • img图片类资源(异步下载,不会阻塞解析)

    相关文章

      网友评论

          本文标题:浏览器加载页面的过程

          本文链接:https://www.haomeiwen.com/subject/isgayqtx.html