浏览器的DNS缓存查看和清除

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

 浏览器先查询自己的缓存,查不到,则调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址

DNS查询顺序:浏览器缓存系统缓存→路由器缓存→ISP DNS 缓存→递归搜索

1、chrome:

为了加快访问速度,Google Chrome浏览器采用了预提DNS记录,在本地建立DNS缓存的方法,加快网站的连接速度。chrome://net-internals/#dns 这里可以看各域名的DNS 缓存时间。chrome对每个域名会默认缓存60s。

在url地址栏输入chrome://chrome-urls/可以看到chrome所有的配置界面;

选择chrome://dns或者chrome://net-internals/#dns可以查看chrome浏览器的dns缓存信息

 

点击“Clear host cache”+然后选择"clear cache"和 " flush socket",可以清空chrome的dns缓存

2、firefox:

配置含义:

network.dnsCacheEntries:缓存的数量

network.dnsCacheExpiration:dns缓存的时间

network.dnsCacheExpirationGracePeriod:dns缓存的时间,设置为0表示不缓存

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

如果一个域名的DNS解析结果会有多个的话,浏览器是如何处理的呢?Chrome浏览器会优先向第一个IP发起HTTP请求,如果不通,再向后面的IP发起HTTP请求

 

4、验证一把:如图,有DNS Lookup、Initial connection(TCP连接)、SSL连接

再次请求,上面的三个过程没有了,因为浏览器有DNS 缓存;TCP长连接还没有断开;SSL连接也还在

如图所示点击“Flush sockets”

三个请求重新发起:DNS查询、TCP三次握手、SSL连接

 

posted @ 2017-08-28 14:44  脚本小娃子  阅读(28607)  评论(1编辑  收藏  举报