【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
DNS域名解析步骤:
- 浏览器会先查找自己的缓存看看有没有对应域名的IP,缓存大小和时间都有限制
- 当浏览器没有对应的IP,再找系统的缓存,系统的缓存可以通过对应文件设置,如windows系统通过C:\Windows\System32\drivers\etc\hosts文件设置
- 当系统缓存也没有,会想网络配置中的DNS服务器发送请求,这个DNS服务器一般为LDNS(本地DNS)Server,LDNS Server通常是为你介入互联网的应用提供商,即电信或者联通,即使SPA;LNDS Server一般会缓存域名解析结果,缓存时间为域名的失效时间控制,大约80%的域名解析到这就结束了
- 如果LDNS Server也没有结果,将直接到Root Server域名服务器请求解析
- Root Server放回给LDNS Serber一个所查询的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台左右
- LDNS Server再向gTLD Server发送请求
- gTLD Server返回域名对应的Name Server地址,这个Name Server通常就是你注册的DNS Server,如你在某个域名服务商申请的域名,那么这个域名解析任务就有这个域名提供商的服务器来完成
- Name Server查询返回IP以及TTL(Time to live)
- LDNS Server缓存映射,缓存时间有TTL控制
- 将解析结果返回给用,用户根据TTL缓存在系统缓存中
*Name Server可能有多级,所以7,8可能重复几次;解析过程可能有GTM负载均衡,也可能影响域名解析
Windows和Linux下都可以用nslookup查看域名解析结果,Linux下还可以用dig查询域名解析
*CentOS使用nslookup和dig需要yum install bind-utils, dig 域名 +track可以查看从根服务的详细解析
*windows下可以使用ipconfig/flushdns命令来刷新dns缓存,
来源:oschina
链接:https://my.oschina.net/u/1413049/blog/717955