什么是DNS?
DNS 是域名系统的缩写,它由 解析器 和 域名服务器 组成,具有将 域名 解析对应 IP地址 功能的服务器,它包含所有主机的域名和对应的IP地址。
为什么要域名解析?
电脑和服务器之间的连接是通过唯一的IP地址来完成的,但IP地址并不便于记忆,就有了容易被记住的地址(域名)代替IP地址, 怎么将域名和IP关联起来呢?就有了DNS服务器将 域名 解析为对应的 IP 地址。
为什么要缓存域名解析?
浏览器在访问一个网站后,获取到网站域名的实际IP地址后会对其IP进行缓存,下一次访问就可以直接从本地缓存中查找,这样减少网络请求的损耗,缓解服务器压力。DNS服务器也会对之前解析过的域名进行缓存,以便下次有相同域名请求,直接放回缓存结果。
每种浏览器都有一个固定的DNS缓存时间,其中Chrome的过期时间是1分钟,在这个期限内不会重新请求DNS。
DNS 域名解析过程
①浏览器DNS缓存 > ②操作系统DNS缓存( HOST文件) > ③路由器缓存 > ④网络服务提供商缓存 > ⑤根域名服务器 > ⑥顶级域名服务器 > ⑦主域名服务器 > ⑧保存缓存到本地浏览器
注: ⑤-⑦ 是DNS服务器递归式查找域名,这里可能存在负载均衡导致每次IP不一样