DNS解析

顺序执行,找到域名——>IP映射为止

点赞文章:https://www.jianshu.com/p/635503c40601

1.     浏览器DNS缓存。打开chrome://net-internals/#dns,能清dns缓存,我发现http1.1不好用,http1.1支持keep-alive,所以你清了dns,但是socket还在,修改hosts文件不能即时生效原因在此。等几分钟socket断了,或者手动关闭socket,hosts可即时生效。

2.     OS缓存。操作系统有个hosts文件,修改hosts文件会清空OS缓存,然后缓存hosts信息,根据hosts文件缓存的TTL是0,无失效时间。


                       hosts文件:10.1.20.2  mobile-api.haodf.com  wifi-api.haodf.com           (查看DNS缓存:ipconifg /displaydns,清缓存:ipconfig /flushdns)


系统缓存了三条记录,IP——>域名(PTR记录)、域名——>IP(A记录)、域名——>域名(CNAME记录)(注意hosts记录的顺序与缓存现象)

3.    LDNS。一般在同城,距离不远处,约80%的域名解析到这里就结束了,所以 nslookup www.baidu.com等网址的时候,都会标志“非权威”,因为在这里命中了缓存,linux系统有/etc/resolv.conf文件,用来保存LDNS服务器地址,此地址是可以自定义的。LDNS会有一个配置文件,用来记录并获取13个“.域”(根域)的DNS服务器IP地址。

4.    从13个根域取一个,获取“com.域”(gTLD)的IP,LDNS发请求到gTLD,递归,如果遇到CNAME记录,则重新递归查询CNAME对应的IP,这个IP一般是第三方网络安全公司的IP(巴别时代使用知道创宇云waf),并在LDNS种缓存、在OS种缓存、在client种缓存。

静态资源:CDN缓存服务器

动态资源:请求——>waf——>nginx负载均衡

你可能感兴趣的:(DNS解析)