查看浏览器DNS缓存

前言

①一般来说,有需要提供DNS域名解析的地方就会有DNS缓存存在。

②浏览器、操作系统、Local DNS、根域名服务器等,它们都会对DNS域名系统解析的结果做一定程度的缓存。

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

④DNS在浏览器缓存的作用是:加快网页的加载速度。

⑤浏览器对DNS解析结果的处理:如果一个域名的DNS解析结果有多个的话,Chrome浏览器会优先向域名对应的第一个IP地址发起HTTP请求,如果不通,再向后面的IP地址发起HTTP请求。

Chrome浏览器自身的DNS缓存

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

但是输入后却看不到想要看到的DNS缓存信息,这是为啥呢?

这是因为原来的那个方式移除了,现在需要手动去开启记录到本地磁盘。具体操作方式如下:

大致意思:网络内部事件查看器和相关功能已被删除。请使用chrome://net-export保存netlog,并使用外部netlogviewer查看它们。

开启浏览器DNS缓存后,访问网站,拿到本地日志文件,然后解析。

 

点击《Clear host cache》可以清楚浏览器的DNS缓存。

FireFox浏览器

在url栏上输入 about:config 就可以进行FireFox浏览器中的DNS缓存设置。

配置含义:

network.dnsCacheEntries:缓存的数量

network.dnsCacheExpiration:dns缓存的时间

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

实战

①如下图,第一次请求某网页的时,存在DNS Lookup、Initial connection(TCP连接)、SSL连接等时长消耗。

②再次请求,上面的三个过程没有了,因为浏览器有DNS 缓存(不需要重新域名解析服务);TCP长连接还没有断开(不需要重新建立TCP连接);SSL连接也还在(不需要重新建立SSL连接) 。

③清理当前浏览器自身的DNS缓存(点击《Flush sockets》)。

④重新向该域名发起请求,会重新进行DNS查询、TCP三次握手、SSL连接

 

posted @ 2023-02-15 20:00  习久性成  阅读(1372)  评论(0编辑  收藏  举报