输入URL地址发生了什么?DNS解析过程

Http请求过程?输入URL地址发生了什么?

  1. 首先通过 DNS 域名解析获取到具体的 IP 地址。
  2. 浏览器获得对应的IP地址后,向服务器三次握手建立连接
  3. 连接建立后,浏览器向服务器发送HTTP请求。
  4. 服务器处理请求并返回HTTP报文给浏览器。
  5. 没有数据要发送后,就四次挥手断开连接。
  6. 客户端拿到服务器端传输来的文件后,解析HTML文件的html源码,解析CSS代码,然后构建渲染树,渲染树中的节点存放的是对应的CSS的属性,最后浏览器根据渲染树把页面绘制到屏幕上展示给了用户。

DNS解析过程(8个步骤)

  • 如果主机a想给主机b发送数据,那么它必须知道主机b的ip地址。而dns域名解析就是帮助获取到具体的ip地址。解析过程是首先主机a会在缓存中查找主机b的ip地址,如果没命中,就查它的本地域名服务器,如果本地域名服务器没查到,就查根域名服务器,如果根域名服务器没命中,它就会告诉本地域名服务器去查询顶级域名服务器。如果顶级域名服务器没命中,它就会告诉本地域名服务器去查询权限域名服务器,权限域名服务器就会告诉本地域名服务器所查询主机的ip地址。然后本地域名服务器将查到的结果告诉主机,解析完成。这些域名服务器都设置了高速缓存来提高 DNS 的查询效率,比如前面已经查询过某个域名的 IP 地址了,再次查询时,本地域名服务器就不必向根域名服务器重新查询了,而是直接把高速缓存中存放的查询结果告诉用户。或者本地域名服务器的缓存中存放着顶级域名服务器的 IP 地址,那么本地域名服务器就可以不向根域名服务器进行查询,而是直接查询顶级域名服务器。

  • 详细版:
    (如果主机 m.xyz.com 打算发送数据给主机 y.abc.com,就必须知道主机 y.abc.com 的 IP 地址)

  1. 如果主机a想给主机b发送数据,那么它必须知道主机b的ip地址。于是主机a会先在缓存中查找主机b的ip地址,如果没命中,就对它的本地域名服务器(y.abc.com)进行递归查询。
  2. 本地域名服务器对根域名服务器进行迭代查询。
  3. 根域名服务器告诉本地域名服务器,下一次应该查询顶级域名服务器(dns.com)。
  4. 本地域名服务器查询顶级域名服务器。
  5. 顶级域名服务器告诉本地域名服务器,下一次应该查询权限域名服务器(dns.abc.com)。
  6. 本地域名服务器查询权限域名服务器。
  7. 权限域名服务器告诉本地域名服务器,所查询主机的 IP 地址。
  8. 本地域名服务器把查询结果告诉主机。
    这 8 个步骤里,本地域名服务器经过了三次迭代查询,总共使用了 8 个 UDP 报文。还有就是这些域名服务器都设置了高速缓存来提高 DNS 的查询效率,比如前不久已经查询过某个域名的 IP 地址了,再次查询时,本地域名服务器就不必向根域名服务器重新查询了,而是直接把高速缓存中存放的查询结果告诉用户。或者本地域名服务器的缓存中存放着顶级域名服务器 dns.com 的 IP 地址,那么本地域名服务器就可以不向根域名服务器进行查询,而是直接查询顶级域名服务器。
  • 根域名服务器:保存所有顶级域名服务器的域名和 IP 地址。
  • 顶级域名服务器:管理在该顶级域名服务器下注册的二级域名。
  • 权限域名服务器:保存所有主机的域名到 IP 地址的映射。(abc.com 和 y.abc.com)

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值