DNS域名解析过程

什么是DNS域名解析?它的流程是咋样的?

DNS(Domain Name System) 是域名系统的英文缩写,提供的服务是用于将主机名和域名转换为IP的工作

比如请求http://qq.com 会先 请求DNS服务 然后把这个域名 对应的ip地址取出来 然后在进行网络访问地址

http://qq.com    ------    DNS  -------  IP 58.247.214.47

1.浏览器根据URL先在自身(浏览器)缓存查找DNS(域名服务器)中的解析记录

如果存在(命中),直接返回IP地址

如果不存在(还没命中),2.会查询当前操作系统的hosts文件(Windows-c盘-hosts) 是否有 该域名的DNS解析记录

题外话: 但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。

有(命中) 直接返回IP地址

没有(还没有命中)该域名或者已经过期了,3.会先请求本地域名服务器(LDNS) 解析 该域名

题外话:本地域名服务器(LDNS)这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了

解析成功(命中)就返回IP地址

如果解析不了,4.会跳到根域名服务器(Root Server)请求解析,根域名服务器(Root Server)会返回一个 主域名服务器(所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org...)--------- 本地域名服务器会接收到 主域名服务器

5.然后本地域名服务器(LDNS)再发送解析请求给上一步返回的主域名服务器(gTLD)

6.主域服务器(gTLD)接收到解析请求之后,查找 域名(name server,你在浏览器输入的域名) 对应的域名服务器的地址(域名服务器会查询存储的域名和IP映射关系表,返回目标IP记录以及一个TTL(Time To Live)值)并 返回给本地域名服务器(LDNS)

7.本地域名服务器接收到IP和TTL值,进行缓存,缓存时间由TTL值控制   8.然后 将解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束

 

参考:

2019 面试准备 - JS 防抖与节流(https://juejin.im/post/5c87b54ce51d455f7943dddb

详解DNS域名解析全过程(https://blog.csdn.net/yanshuanche3765/article/details/82589210)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

An_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值