原文:

http://www.winwin7.com/JC/4742.html

dns缓存刷新时间是多久?一般来说,我们只知道DNS解析是互联网绝大多数应用的实际寻址方式,在我们打开某站点,DNS返回了正确的IP之后,此时系统会将dns缓存保存到本地,当我们再次访问该站点的时候会自动调用本地保存的dns缓存从而达到立马打开网页,速度非常快!但是dns缓存文件也是有时间限制的,当到了一定的时限便会自动刷新,其中比较特殊的要属于浏览器 DNS缓存,浏览器DNS缓存的时间跟DNS服务器返回的TTL值无关。


 
浏览器在获取网站域名的实际IP地址后会对其IP进行缓存,减少网络请求的损耗。每种浏览器都有一个固定的DNS缓存时间,其中Chrome的过期时间是1分钟,在这个期限内不会重新请求DNS。Chrome浏览器看本身的DNS缓存时间比较方便,在地址栏输入:chrome://net-internals/#dns 即可看到当前浏览器的缓存;

OS缓存会参考DNS服务器响应的TTL值,但是不完全等于TTL值。测试DNS解析为例:C:\windows\system32>ipconfig /displaydns

接着通过域名解析命令获取ISP端的域名服务中的TTL时间:

 
C:\Users\cmcc>nslookup -d 网址

可以看到本地ISP服务器上缓存的时间,就算刷新了本机操作系统缓存,ISP上仍然存在。

Windows
 
Windows2003之前的DNS缓存设置时间在注册表的位置是HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Dnscache/Parameters
键名MaxCacheEntryTtlLimit,为DNS缓存条目TTL最大值,在XP和2003系统中此项名称为MaxCacheTtl

IOS

按照官方文档说法,iOS设备上每24小时刷新一次DNS缓存
以下列出了一些浏览器的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解析速度
ISP(电信运营商)缓存有些不靠谱,有些缓存服务器(不多)会忽略网站DNS提供的TTL,自己设置一个较长的TTL,导致顶级DNS更新时不能及时拿到新的IP地址。www.winwin7.com
 
可以看出,在从Root DNS请求域名解析的过程中,有太多的层次影响DNS的获取,缓存是双刃剑,提高了获取DNS的速度,也会影响DNS在IP变更时不能及时更新到最新。

dns缓存刷新时间是多久?dns本地缓存时间介绍的更多相关文章

  1. DNS 系列(二):DNS 记录及工作方式,你了解吗?

    在上一篇<DNS 系列(一):为什么更新了 DNS 记录不生效?>中,我们主要讲解了 DNS 和 DNS 传播,知道了网络通信主要通过 IP 地址来进行,而域名系统(DNS)则是保证用户在 ...

  2. HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)

    1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息.   但是c ...

  3. 微信小程序之本地缓存(十)

    [未经作者本人同意,请勿以任何形式转载] 目前,微信给每个小程序提供了10M的本地缓存空间(哎哟妈呀好大) 有了本地缓存,你的小程序可以做到: 离线应用(已测试在无网络的情况下,可以操作缓存数据) 流 ...

  4. redis订阅发布消息操作本地缓存

    Redis 本地缓存+远程缓存方案 使用纯java的ehcache作为本地缓存 Reids 作为远程分布式缓存 解决redis缓存压力过大,提高缓存速度,以及缓存性能. Redis和ehcache缓存 ...

  5. 微信小程序之本地缓存

    目前,微信给每个小程序提供了10M的本地缓存空间(哎哟妈呀好大) 有了本地缓存,你的小程序可以做到: 离线应用(已测试在无网络的情况下,可以操作缓存数据) 流畅的用户体验 减少网络请求,节省服务器资源 ...

  6. 同时使用Redis缓存和Google Guava本地缓存注意事项(深拷贝和浅拷贝)

    目录 1.问题场景及说明 2.Redis 缓存是深拷贝 3.Guava本地缓存直接获取则是浅拷贝 4.如何实现Guava获取本地缓存是深拷贝? 1.问题场景及说明 系统中同时使用 Redis 缓存和 ...

  7. Django视图中使用本地缓存

    Django服务器视图使用缓存可以大大减小服务器的压力,对数据实时性要求不高的场景使用缓存非常适合. 使用Django本地缓存 1. 在settings.py配置CACHES CACHES = { ' ...

  8. openresty使用redis作本地缓存

    一,为什么要使用redis作本地缓存? 1,使用缓存通常会有三层 当使用openresty作为web服务器时,我们更看重是的它可以通过lua编程的扩展能力,就openresty而言,它可以实现的功能非 ...

  9. mybatis本地缓存&分布式缓存干货分享

    前言:干货记录学习mybatis实际开发中缓存的使用. 环境: springboot2.X + mybatis3.x Mybatis是一款持久层框架,它提供了一级缓存和二级缓存. 名词解释 一级缓存( ...

随机推荐

  1. hbuider配置初始

    { "forEach": { "prefix": "fec", "body": [ ".forEach(fun ...

  2. javascript高级程序设计第3版——第一章概括

    最近发现Xmind思维导图是个好东西,刚好开始看书,被用来归纳最好不过了

  3. c# Excel 行高、列宽、合并单元格、单元格边框线、冻结

    http://www.2cto.com/kf/201007/52724.html 新增选择整列: Range = ((Range)(WALeTieSheet.Cells[1, PwCStartCol_ ...

  4. node基础知识-常用node命令

    node中js的组成部分:ECMAScript核心+全局成员+模块系统成员 浏览器中的js组成部分:ECMAScripts核心+BOM+DOM 常用node命令 cmd中进入REPL环境:直接输入no ...

  5. Jquery("#form_content").validationEngine()失效原因分析

    使用validationEngine()函数对表单进行各种校验,由于多个页面都引用了相关js文件,后面子页面的validationEngine()始终不生效:....: 测试后发现重复引用了JQuer ...

  6. jQ如何选中被选中的单选按钮的值

    alert($("label input[name=logintpye]:checked").val());

  7. JQ 向上查找指定 同辈元素 找到后返回

    由于JQ 只有 prev() 和 prevAll() prev()只能找一个 prevAll()把所有的都给找了 我想要的是: 在同辈元素中向上找,直到找到 我指定的元素 后,返回他. 所以自己写了个 ...

  8. talk with gao about qssp

  9. admin 后台

    https://segmentfault.com/a/1190000015835976#articleHeader3https://github.com/PanJiaChen/vue-element- ...

  10. 编译QFileSystemModel

    QT在windows系统下可以直接安装,但有些时候,可以只编译一个类,这里需要有一些需要注意的.下面是github路径:https://github.com/1171597779/compile_of ...