欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 从浏览器地址栏输入URL到页面加载发生了什么?

从浏览器地址栏输入URL到页面加载发生了什么?

2025/3/12 9:38:29 来源:https://blog.csdn.net/m0_62909831/article/details/145958230  浏览:    关键词:从浏览器地址栏输入URL到页面加载发生了什么?

文章目录

  • 1. DNS解析
    • 1.1 DNS域名结构
    • 1.2 DNS域名解析的工作流程
  • 2. TCP 连接
  • 3. 发送 HTTP 请求
  • 4. 服务器处理请求
  • 5. 浏览器接收 HTTP 响应
  • 6. 断开连接

这个过程包括多个步骤,涵盖了 DNS 解析、TCP 连接、发送 HTTP 请求、服务器处理请求并返回 HTTP 响应、浏览器处理响应并渲染页面等多个环节。

1. DNS解析

浏览器会发起一个 DNS 请求到 DNS 服务器,将域名解析为服务器的 IP 地址。

DNS的全称是Domain Name System(域名系统),它是互联网中用于将域名转换为对应IP地址的分布式数据库系统。DNS扮演着重要的角色,使得人们可以通过易记的域名访问互联网资源,而无需记住复杂的IP地址。

1.1 DNS域名结构

DNS 中的域名都是用句点来分隔的,比如 www.server.com,这里的句点代表了不同层次之间的界限。
在域名中,越靠右的位置表示其层级越高。
实际上域名最后还有一个点,比如 www.server.com.,这个最后的一个点代表根域名。
也就是,. 根域是在最顶层,它的下一层就是 .com 顶级域,再下面是 server.com

所以域名的层级关系类似一个树状结构
• 根 DNS 服务器(.)
• 顶级 DNS 服务器(.com)
• 权威 DNS 服务器(server.com)
在这里插入图片描述
根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器中。这样一来,任何 DNS 服务器就都可以找到并访问根域 DNS 服务器了。

因此,客户端只要能够找到任意一台 DNS 服务器,就可以通过它找到根域 DNS 服务器,然后再一路顺藤摸瓜找到位于下层的某台目标 DNS 服务器。

1.2 DNS域名解析的工作流程

在这里插入图片描述
假设我们在浏览器地址栏里键入了www.baidu.com
在这里插入图片描述

  1. 开始:用户在浏览器中输入 www.baidu.com 并发起请求。
  2. 本地 DNS 解析
    • 检查浏览器缓存 :浏览器首先会检查自身的缓存,查看是否已经缓存了 www.baidu.com 对应的 IP 地址。如果找到对应的 IP 地址,则直接使用缓存中的 IP 地址进行访问,解析流程结束。
    • 检查本地 DNS 服务器缓存 :如果浏览器缓存中没有找到对应的 IP 地址,则请求会发送到本地 DNS 服务器(如运营商提供的 DNS 服务器)。本地 DNS 服务器会先检查自己的缓存,查看是否缓存了 www.bilibili.com 及其对应的 IP 地址。如果找到,则返回给浏览器,解析流程结束。
  3. DNS 解析服务
    如果本地 DNS 服务器缓存中也没有找到对应的 IP 地址,则开始进行 DNS 解析服务的递归查询过程:
    • 请求根服务器 :本地 DNS 服务器会向根服务器发送请求,询问 www.bilibili.com 所属的顶级域名服务器(com 域)的信息。根服务器会返回负责 com 域的顶级域名服务器的地址。
    • 请求顶级域名服务器 :本地 DNS 服务器收到根服务器返回的信息后,会向顶级域名服务器(com 域)发送请求,询问 www.bilibili.com 所属的权威域名服务器的信息。顶级域名服务器会返回负责 bilibili.com 域的权威域名服务器的地址。
    • 请求权威域名服务器 :本地 DNS 服务器收到顶级域名服务器返回的信息后,会向权威域名服务器(bilibili.com 域)发送请求,询问 www.bilibili.com 对应的 IP 地址。权威域名服务器会返回 www.bilibili.com 对应的 IP 地址给本地 DNS 服务器。

本地 DNS 服务器收到权威域名服务器返回的 IP 地址后,会将该 IP 地址缓存起来,然后返回给浏览器。浏览器收到 IP 地址后,就可以使用该 IP 地址与服务器建立连接,访问 www.baidu.com 网站。

2. TCP 连接

浏览器通过解析得到的 IP 地址与服务器建立 TCP 连接。这一步涉及到 TCP 的三次握手,用于确保双方都已经准备好进行数据传输了。TCP三握四挥详情可戳 三握四挥

3. 发送 HTTP 请求

浏览器构建 HTTP 请求,包括请求行、请求头和请求体;然后将请求发送到服务器。

4. 服务器处理请求

服务器接收到 HTTP 请求后,根据请求的资源路径,经过后端处理,生成 HTTP 响应消息;响应消息包括状态行、响应头和响应体。

5. 浏览器接收 HTTP 响应

浏览器接收到服务器返回的 HTTP 响应数据后,开始解析响应体中的 HTML 内容;然后构建 DOM 树、解析 CSS 和 JavaScript 文件等,最终渲染页面。

6. 断开连接

TCP 四次挥手,连接结束。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词