当前位置:   article > 正文

详解:页面从URL请求到加载完成的整个过程_一个url到页面加载的全过程

一个url到页面加载的全过程

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

在这里插入图片描述

文章目录


在这里插入图片描述

请求网页的整个渲染过程可以分为多个阶段,从用户在浏览器中输入网址到页面最终呈现在屏幕上,大致流程如下:

  1. 用户输入网址
    用户在浏览器地址栏输入网址(Uniform Resource Locator, URL),按下回车键发起请求。

  2. 域名解析(DNS 查询)
    浏览器首先需要将输入的域名转换为对应的IP地址。这个过程通过DNS查询来完成,浏览器向DNS服务器发送查询请求,获取目标服务器的IP地址。

  3. 建立TCP连接
    获取到服务器IP地址后,浏览器通过TCP/IP协议与服务器建立连接。这通常涉及到TCP的三次握手过程,目的是为了建立一个稳定可靠的传输通道。

  4. 发送HTTP请求
    连接建立后,浏览器构造HTTP请求报文,其中包括请求行(方法、URL、协议版本)、请求头(如User-Agent、Accept-Language、Cookie等)、以及可能存在的请求体(比如POST请求中的数据)。

  5. 服务器处理请求
    服务器接收到请求后,根据请求的URL和HTTP方法执行相应的操作,如读取文件、执行脚本或数据库查询等,并准备HTTP响应。

  6. 返回HTTP响应
    服务器将生成的响应报文(包括状态码、响应头、响应体)通过TCP连接发送给浏览器。

  7. 浏览器接收响应
    浏览器接收到响应报文后,开始解析响应内容。如果是HTML文件,就进入页面渲染阶段。

  8. 解析HTML
    浏览器首先解析HTML内容,构建Document Object Model (DOM) 树,这是一个内部表示形式,用于表示文档的所有元素和它们之间的层级关系。

  9. 解析CSS
    同时,浏览器解析CSS样式表,构建CSS Object Model (CSSOM) 树,记录样式信息。

  10. 构建渲染树(Render Tree)
    将DOM树和CSSOM树结合,构建渲染树。渲染树包含了所有可视节点及其计算后的样式信息。

  11. 布局(Layout / Reflow)
    浏览器根据渲染树计算每个节点在屏幕上的确切位置和大小,这个阶段也被称为“布局”或“重排”。

  12. 绘制(Painting)
    有了布局信息后,浏览器按照从后往前的顺序绘制各节点,包括文本、颜色、图像等,这个过程叫做“合成”或“绘制”。

  13. 重绘(Repaint)和重排(Reflow)
    如果在渲染过程中有样式变化导致布局改变,浏览器可能需要重新进行布局和绘制工作。

  14. 增量渲染与交互反馈
    在某些情况下,浏览器会采用增量渲染的方式,优先展示可见内容,随后逐步加载和渲染剩余部分。同时,对于用户的交互操作(滚动、点击等),浏览器会实时调整渲染树和布局,给出及时的反馈。

  15. 资源加载
    浏览器并行加载页面所需的其他资源,如图片、字体、JavaScript文件等。JavaScript可能会修改DOM或CSSOM,进而影响渲染结果,因此在执行JavaScript的同时,浏览器会监控可能引发的变化并适时重排和重绘。

  16. 页面加载完毕
    当主文档加载完毕,所有资源加载和渲染工作完成后,浏览器呈现完整页面给用户。

以上整个过程涉及到复杂的调度算法、缓存机制、并发处理和异步加载等技术手段,确保页面高效、准确地渲染和交互。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/940009
推荐阅读
相关标签
  

闽ICP备14008679号