DNS缓存

有DNS的地方,就有缓存。

浏览器、操作系统、Local DNS、根域名服务器,它们都会对DNS结果做一定程度的缓存。本文总结一些常见的浏览器和操作系统的DNS缓存时间。

Table of Contents

  • 1 操作系统的DNS缓存
    • 1.1 windows
    • 1.2 macOS
  • 2 浏览器的DNS缓存
    • 2.1 chrome
    • 2.2 IE
    • 2.3 firefox
    • 2.4 safari
  • 3 浏览器对DNS解析结果的处理

1 操作系统的DNS缓存

 

1.1 windows

windows DNS缓存的默认值是 MaxCacheTTL,见这里,它的默认值是86400s,也就是一天。它是TTLu 这篇文章列出了一些浏览器的DNS缓存时间。

浏览器DNS缓存的时间跟ttl值无关,每种浏览器都使用一个固定值。

1.2 macOS

macOS 严格遵循DNS协议中的TTL

2 浏览器的DNS缓存

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

这篇文章 列出了一些浏览器的DNS缓存时间

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

2.1 chrome

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

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

2.2 IE

IE将DNS缓存30min。见这里

2.3 firefox

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

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

新建条目类型为整数型。 当然也可以按照需要设置成其它的值。

2.4 safari

约为10s

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

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

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

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

Author: CobbLiu

Org version 7.9.3f with Emacs version 24

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dnsmasq是一个轻量级的DNS和DHCP服务器软件,它可以作为本地DNS缓存服务器来使用。使用Dnsmasq作为DNS缓存服务器可以提高DNS解析速度,并减少网络带宽的使用。以下是如何在Linux系统中使用Dnsmasq作为DNS缓存服务器的步骤: 1. 安装Dnsmasq软件 在Ubuntu系统中,可以使用以下命令安装Dnsmasq软件: ``` sudo apt-get install dnsmasq ``` 2. 配置Dnsmasq 打开Dnsmasq的配置文件`/etc/dnsmasq.conf`,添加以下配置内容: ``` # Listen on the local interface only interface=lo # Never forward plain names (without a dot or domain part) domain-needed # Never forward addresses in the non-routed address spaces bogus-priv # Enable DNS caching cache-size=1000 # DNS servers to use server=8.8.8.8 server=8.8.4.4 ``` 以上配置中,`interface`指定Dnsmasq监听的网络接口,这里设置为本地回环接口`lo`;`domain-needed`指定不转发没有域名部分的请求;`bogus-priv`指定不转发本地地址和私有地址空间的请求;`cache-size`指定DNS缓存大小;`server`指定要使用的DNS服务器地址,这里使用Google的公共DNS服务器。 3. 重启Dnsmasq服务 执行以下命令重启Dnsmasq服务: ``` sudo systemctl restart dnsmasq ``` 4. 修改本地DNS解析配置 打开`/etc/resolv.conf`文件,将其中的DNS服务器地址修改为`127.0.0.1`,即本地Dnsmasq服务的地址。 现在,Dnsmasq已经作为本地DNS缓存服务器启用了,可以根据需要自行修改Dnsmasq的配置文件来进行更多的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值