域名解析(DNS)缓存是什么?
域名解析缓存又名DNS缓存,常见表现名称是TTL:(TimeToLive)生存时间,就是域名解析记录在DNS服务器中的存留有效时间。
当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器(权威域名服务器)发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器(各地的缓存服务器,也叫递归域名服务器)中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
TTL缓存
如上图所示,在命令行模式下,通过ping命令向百度的域名发起ping请求,在返回的数据结果中最后一段就是这次请求的域名解析TTL缓存时间.
很多刚开始做站的朋友,由于测试或者其他原因,平时经常要更换服务器,或者换个DNS解析商,那就很有必要了解下,域名dns缓存时间的存在和影响。避免在迁移域名,迁移网站的时候由于一些错误的操作,导致出现解析问题。
人们通过互联网访问你的网站时,会通过域名寻址,访问你的域名服务商的DNS服务器,获得你指定的IP地址。然后成功登陆你的网站。
但是并不是每次访问你的网站,都会去你的服务商DNS服务器查询IP地址。通常你所在的城市ISP(网络服务提供商)都会有一个DNS服务器,他会在你第一次访问时缓存你的域名指向。下次你再访问时,他会从缓存里把你曾经指向的IP调出来。
这个时候,问题就来了。如果你在服务商后台重新指向了一个新的IP。而各个城市的DNS服务器并不知情,那么用户访问你的网站时,还会访问到过去的老IP,导致网站无法打开。通常各地的DNS服务器,会在一段时间内重新寻址,定位你的新IP地址。
可惜的是,各地DNS刷新的时间都是不一定的,有的快,有得慢。当然,如果服务商的DNS服务器不好,无法提供及时的同步,也会导致域名无法解析到新的IP地址。
就域名普通解析操作来说,在你域名DNS服务器比较正常的话,添加新的解析记录,是立马生效的,没有缓存时间的。修改解析记录,一般可认为修改记录后生效时间为你域名记录之前设置的TTL时间,建议600以上,不宜过长,也不易过短,过长会导致域名解析生效时间长,过短会加重DNS负担,致使解析不稳定,因此许多地区的网络运营商会默认为请求解析的域名加上一定的缓存时间。
但各地ISP运营商的DNS缓存时间过长,那么新添加的解析记录生效就需要等待很长时间,在DNS缓存消失之前,用户请求得到的结果依然是之前的解析记录,如果某网站因遭遇攻击或者故障原因需要更改原有解析记录,那么此时在运营商的DNS缓存势必影响到了正确地址的请求,因此对于网站主而言如何有效解决DNS缓存的问题就显得十分必要。
如何清除DNS缓存?
DNS缓存与DNS云加速
怎么才能够有效解决运营商DNS缓存的问题?运营商在我国大大小小有很多家,并且普通用户的诉求是很难得到有效解决,但前段时间国内一家DNS解析服务商-DNS.COM推出了一个名为DNS云加速的产品,经过多位网友亲测之后发现,通过该产品对DNS缓存的加速后,解析响应速度及缓存时间有一个直观的对比提升。
同时,在这里也要提醒大家一下,在修改域名DNS服务商的时候,域名旧控制面板上的各项解析记录不要立即删除,以保证新旧DNS交替的时候保证域名解析的平衡过渡,不会中断解析。但对于旧域名DNS必须全部删除,以免发生解析混乱的现象。
另外,这里顺便提一个生活小贴士:
清理本地缓存的快捷方法,Win+R快捷键—>输入:cmd—>输入:ipconfig/flushdns—>回车。
https://baijiahao.baidu.com/s?id=1567586844492082&wfr=spider&for=pc
================================补充======================================================
刷新本地DNS缓存的方法
常有人问到域名解析了不是即时生效的嘛,怎么还是原来的呢?答案就是在本地DNS有解析缓存,电脑第一次访问后,在一定的时间内就将其缓存下来,下 次访问该域名时电脑通过查找本地DNS缓存,就可以直接知道IP了,而不用再进行域名解析了,这就提高了效率,这就是DNS缓存,而域名更改过解析后,虽 然DNS服务器上已经更新,但本地还有DNS缓存,造成还是老的IP,可以通过下面的方法来解决:
刷新DNS缓存的方法一:(亲测可行20181214)
首先进入命令提示符下(开始——运行——cmd);()
先运行:ipconfig /displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令
ipconfig /flushdns
这时本机的dns缓存信息已经清空了,我们可以再次输入第一次输入的命令来看一下,
ipconfig /displaydns
刷新DNS缓存的方法二:
直接禁用网卡再启用网卡,这样也可以
学习查看域名ns解析,发现一个简单的命令即可解决,当然首先 要确认你的网络正常。
步骤:
开始–运行,输入cmd,然后键入以下命令,如
nslookup -q=ns baidu.com
或者
nslookup -qt=ns baidu.com
注意:域名这里要输入根域名,而不是二级域名。
以下是查看百度的域名dns信息:
baidu.com nameserver = ns3.baidu.com
baidu.com nameserver = ns2.baidu.com
baidu.com nameserver = ns4.baidu.com
出自:http://www.cnblogs.com/rubylouvre/archive/2012/08/31/2665859.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112632.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...