DNS
参考学习:https://www.cnblogs.com/qingdaofu/p/7399670.html
浏览器获取主机ip地址,过程如下:
浏览器缓存
本机缓存(hosts文件)
本地DNS解析器缓存
本地DNS服务器
DNS递归查询(可能存在负载均衡导致每次IP不一样)
主机向本地DNS服务器查询(递归查询) 返回结果只有成功或者失败,客户端做请求
本地域名服务器向外网 (迭代查询) (重指引,返回最佳查询点),本地DNS服务器做请求
IPV4 IPv6 ISP(互联网服务提供商)
DNS 的作用就是通过域名查询到具体的 IP。
在 TCP 握手之前就已经进行了 DNS 查询,这个查询是操作系统自己做的。当你在浏览器中想访问 www.google.com 时,会进行一下操作
操作系统会首先在本地缓存中查询
没有的话会去系统配置的 DNS 服务器中查询
如果这时候还没得话,会直接去 DNS 根服务器查询,这一步查询会找出负责 com 这个一级域名的服务器
然后去该服务器查询 google 这个二级域名
接下来三级域名的查询其实是我们配置的,你可以给 www 这个域名配置一个 IP,然后还可以给别的三级域名配置一个 IP
以上介绍的是 DNS 迭代查询,还有种是递归查询,区别就是前者是由客户端去做请求,后者是由系统配置的 DNS 服务器做请求,得到结果后将数据返回给客户端。
DNS 预解析
DNS 解析也是需要时间的,可以通过预解析的方式来预先获得域名所对应的 IP
<link rel="dns-prefetch" href="//blog.poetries.top">