TTL为Time To Live的缩写,它用来指定DNS记录在DNS服务器上的缓存时间(一般以秒为单位),当我们修改域名DNS记录后,DNS服务器上的DNS记录不会马上更新,而是要等原来的缓存过期后才会更新(这个要等待的时间就是有TTL设定的)。如您的域名DNS记录TTL设置为600,也就是10分钟,那么当您更新域名A记录解析到新的IP后,域名不会马上解析到新的IP,而是需要等10分钟才会解析到新的IP(也就是我们常说的域名解析需要多长时间)。下面是关于TTL更详细的介绍以及TTL的一些应用:
当我们访问一个网站的时候,电脑会将我们访问的域名的解析请求发送给本地DNS服务器,而本地DNS服务器接收到这个请求后就会向域名的DNS服务器发出解析请求,从而获得解析记录;在获得这个记录之后,记录会在本地DNS服务器中保存一段时间(即TTL设定的时间),这段时间内如果再接到这个域名的解析请求,本地DNS服务器将不再向域名的DNS服务器发出请求,而是直接返回刚才获得的记录。通过TTL的这样一个工作原理,我们可以应用于加快域名解析生效和提高域名解析速度让网站访问更快。
TTL加快域名解析生效
当我们更新域名DNS解析后,因为DNS缓存的问题,新的域名记录在有的地方可能生效了,但在有的地方可能等上一两天甚至更久才生效。为了尽可能的减小这个各地的解析时间差,可以采取这样的做法:
- 先查看域名当前的TTL值,我们假定是14400(4个小时)。
- 修改TTL值为可设定的最小值,可能的话,建议为1分钟,就是60。
- 等待4个小时后再修改域名解析(注意不要改了TTL值后马上就修改解析),这样域名解析就会在一分钟生效。
- 确认各地的DNS已经更新完成后,再把TTL值设置大点(可以加快网站访问速度),几个小时甚至几天都可以,因为域名解析一般是不会经常更新的。
TTL提高域名解析速度 让网站访问更快
一般情况下,域名的各种记录是很少更改的,很可能几个月甚至几年都不会有什么变化。我们完全可以增大域名记录的TTL值,让域名DNS记录在各地DNS服务器中缓存的时间更长,这样别人访问网站时,需要从域名DNS服务器获取DNS记录的情况就更少,更多的情况是直接从ISP本地的DNS服务器缓存读取DNS记录,这样域名解析用的时间更短,网站访问速度就更快。
国内和国际上很多平台的TTL值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小,难道会有人一个小时就改一次域名DNS解析记录吗?您可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。
本教程由WP Hostz编写,专业美国虚拟主机,PHP网站空间首选品牌(网址:http://www.wphostz.net)。