教你主流操作系统/浏览器的DNS默认缓存时间

DNS默认缓存时间是多少?大家都知道Windows操作系统有DNS缓存,可以加速网址解析,从而提高网站的访问速度。不过DNS的缓存时间是有限的,而且不同的操作系统、浏览器,DNS默认的缓存时间也是不同的,下面小编给大家总结了一些操作系统及浏览器的DNS缓存时间。

主流操作系统/浏览器的DNS默认缓存时间

什么是DNS缓存?

当你第一次访问 163.com,DNS返回了正确的IP之后,系统就会将这个结果临时储存起来,这就是DNS缓存。并且它会为缓存设定一个失效时间 (例如N小时),在这N小时之内,当你再次访问这个网站时,系统就会直接从你电脑本地的DNS缓存中把结果交还给你,而不必再去询问DNS服务器,变相“加速”了网址的解析。当然,在超过N小时之后,系统会自动再次去询问DNS服务器获得新的结果。

一些常见的浏览器和操作系统的DNS缓存时间如下:

一、操作系统的DNS缓存

1、Windows

Windows DNS缓存的默认值是 MaxCacheTTL,在这里,它的默认值是86400s,也就是一天。

2、macOS

macOS 严格遵循DNS协议中的TTL

二、浏览器的DNS缓存

浏览器为了提高响应时间,也会缓存DNS记录。

浏览器DNS缓存时间跟TTL无关,每种浏览器都有一个固定值。

以下列出了一些浏览器的DNS缓存时间:

1、Chrome

为了加快访问速度,Google Chrome浏览器采用了预提DNS记录,在本地建立DNS缓存的方法,加快网站的连接速度。

chrome://net-internals/#dns 这里可以看各域名的DNS 缓存时间。Chrome对每个域名会默认缓存60s。

2、IE

IE将DNS缓存30min。

3、Firefox

Firefox有DNS缓存功能,但是默认缓存时间只有1分钟,可以通过修改该默认值加快DNS解析速度,方法如下:

打开一个新的窗口,地址栏输 入 about:config,回车,进入设置界面。然后搜索 network.dnsCacheExpiration ,把原来的60改成6000(表示缓存6000秒),再搜索network.dnsCacheEntries 把默认的20改成1000(表示缓存1000条)。如果没有上面两个项目,新建它们即可,新建条目类型为整数型。 当然也可以按照需要设置成其它的值。

4、afari

约为10s

三、浏览器对DNS解析结果的处理

如果一个域名的DNS解析结果会有多个的话,浏览器是如何处理的呢?

Chrome浏览器会优先向第一个IP发起HTTP请求,如果不通,再向后面的IP发起HTTP请求。

Date: 2014-11-21T17:13+0800

Author: CobbLiu

Org version 7.9.3f with Emacs version 24

以上小编给大家罗列了一些常见的浏览器及操作系统的DNS缓存时间,有兴趣的伙伴,可以阅读上文进行了解。