当键入网址后,到网页显示,其间发生了什么

  1. 解析 URL: 浏览器地址栏输入 URL,浏览器解析 URL,从而生成发送给 web 服务器的请求信息(例如 www.example.com)。
    在这里插入图片描述

  2. 检查域名缓存: 浏览器查看浏览器缓存系统缓存路由缓存, 如有存在缓存, 就直接显示。 如果没有, 接着第3步。

  3. **域名解析(DNS解析):**如果该域名没有被缓存,浏览器会向本地 DNS 服务器发送一个域名解析请求,以获取该域名对应的 IP 地址。

还有常见的问题:
域名解析的工作流程

  • 客户端首先会发出一个 DNS 请求,问 www.server.com 的 IP 是啥,并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。
  • 本地域名服务器收到客户端的请求后,如果缓存里的表格能找到 www.server.com,则它直接返回 IP 地址。
  • 如果没有,本地 DNS 会去问它的**根域名**服务器:“老大, 能告诉我 www.server.com 的 IP 地址吗?” 根域名服务器是最高层次的,它不直接用于域名解析,但能指明一条道路。
  • 根 DNS 收到来自本地 DNS 的请求后,发现后置是 .com,说:“www.server.com 这个域名归 .com 区域管理”,我给你 .com **顶级域名**服务器地址给你,你去问问它吧。”
  • 本地 DNS 收到顶级域名服务器的地址后,发起请求问“老二, 你能告诉我 www.server.com 的 IP 地址吗?”
  • 顶级域名服务器说:“我给你负责 www.server.com 区域的**权威 DNS 服务器**的地址,你去问它应该能问到”。
  • 本地 DNS 于是转向问权威 DNS 服务器:“老三,www.server.com对应的IP是啥呀?” server.com 的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。
  • 权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。
  • 本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。

通过 DNS 获取到 IP 后,就可以把 HTTP 的传输工作交给操作系统中的协议栈。
在这里插入图片描述

  1. 建立连接: 通过 DNS 解析获取到 IP 地址后,浏览器会通过向服务器的 IP 地址发起一个 TCP 连接请求。这个过程通常包括三次握手,确保客户端和服务器之间建立可靠的连接。
  2. 发起HTTP请求: 浏览器与服务器建立连接后,会向服务器发送一个 HTTP 请求,请求包含了客户端想要获取的资源信息,比如网页的 HTML 内容、CSS 样式表、JavaScript 脚本等。
  3. 服务器处理请求: 服务器接收到浏览器发送的请求后,会根据请求的内容进行相应的处理。这可能包括读取数据库、运行服务器端脚本等操作,以生成需要的资源。
  4. 服务器响应: 服务器处理完请求后,会将相应的资源以 HTTP 响应的形式返回给浏览器。响应的内容通常包括状态码、响应头和响应体,其中响应体是实际的资源数据。
  5. 浏览器渲染: 浏览器收到服务器的响应后,会根据响应的内容开始渲染页面。它解析 HTML、CSS 和 JavaScript,并根据这些资源构建网页的 DOM 树、CSSOM 树和渲染树,最终在屏幕上显示出可视化的页面。
  6. 关闭TCP连接: 页面渲染完毕后,浏览器会关闭与服务器的 TCP 连接。如果页面中包含其他资源(例如图片、样式表、脚本),则可能需要重复上述步骤来获取这些资源。
  7. 页面加载完成: 一旦页面的所有资源都被加载和渲染,浏览器会触发页面加载完成的事件,此时用户可以与页面进行交互。
    请添加图片描述
    步骤5、6、7、8大概就是客户端和服务器之间传递消息的过程

参考链接
https://blog.csdn.net/hxxx1314/article/details/124649122
https://xiaolincoding.com/network/1_base/what_happen_url.html#%E5%AD%A4%E5%8D%95%E5%B0%8F%E5%BC%9F-http

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值