1.从URL到完整页面的流程 来源:https://w0hog67yl81.feishu.cn/wiki/CSfCw7nEaiPvGuki38KcQFNOnog 采集状态:已完成正文采集;已滚动到底部并复查 一、 从输入URL到接收数据​ ​ 当你在浏览器地址栏输入一个URL并按下回车键时,一系列复杂的事件在幕后悄然发生:​ ​ 1. URL解析 : 浏览器首先会解析你输入的URL,识别出其中的协议(如https)、域名(如www.example.com)、路径等信息。 2. DNS查询 : 浏览器会检查本地缓存,看是否已经有该域名对应的IP地址。如果没有,它会向DNS服务器发送请求,将域名“翻译”成服务器的IP地址。这就像通过一个地址簿查找一个人的电话号码。 3. 建立TCP连接 : 获得IP地址后,浏览器会与目标服务器建立一个TCP连接。这是一个三次握手的过程,确保双方都准备好进行数据传输。对于https协议,还需要进行TLS/SSL握手,以建立一个加密的安全通道。 4. 发送HTTP请求 : 连接建立后,浏览器会向服务器发送一个HTTP请求。这个请求包含了请求方法(通常是GET)、要访问的资源路径、以及一些请求头(Headers),用以告知服务器浏览器的类型、可接受的数据格式等信息。 5. 服务器处理请求并返回响应 : 服务器接收到请求后,会进行处理(例如,从数据库查询数据,渲染HTML模板等),然后向浏览器返回一个HTTP响应。响应中包含了状态码(如200 OK表示成功)、响应头和响应体(Response Body),响应体通常就是我们请求的HTML文档。 二、 关键渲染路径 (Critical Rendering Path)​ ​ 当浏览器接收到服务器返回的HTML文档后,渲染引擎就开始工作了。这个将HTML、CSS和JavaScript转换成屏幕上像素的过程,被称为“关键渲染路径”。​ ​ 1. 构建DOM树: ◦ 浏览器从上到下解析HTML文档,将各种HTML标签(如, ,
)转换成一个树形结构,这就是文档对象模型(Document Object Model, DOM)。 ◦ DOM是HTML文档在内存中的对象表示,它包含了文档的内容和结构。 2. 构建CSSOM树 (Building the CSSOM Tree): ◦ 在解析HTML的过程中,如果遇到CSS(无论是通过标签引用的外部CSS文件,还是