有DNS的地方,就有缓存。

浏览器、操作系统、Local DNS、根域名服务器,它们都会对DNS结果做一定程度的缓存。本文总结一些常见的浏览器和操作系统的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

DNS缓存的更多相关文章

  1. 修改Hosts为何不生效,是DNS缓存?

    Update: 如果浏览器使用了代理工具,修改 Hosts 也不会生效.这里是因为,浏览器会优先考虑代理工具(如添加 pac 文件.SwitchySharp等)的代理,建议调试的时候先关闭这些代理. ...

  2. 刷新DNS命令 如何刷新DNS缓存(flushdns)

    运行:ipconfig /displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令 ipconfig /flushdns               这时本机的dns ...

  3. 刷新本地的DNS缓存数据

    ipconfig /flushdns”执行,刷新本地的DNS缓存数据. ipconfig /displaydns      查看本地DNS缓存记录的命令为:ipconfig /displaydns.你 ...

  4. 如何刷新DNS缓存

    经常换空间的朋友一定知道,域名解析到新空间后,要一段时间才会生效到新空间,这是由于本地的DNS生效不及时导致的.这里青互联教大家一个即时更新本地DNS的方法. 在不同的系统中刷新DNS缓存的方法如下. ...

  5. Chrome清除dns缓存

    Chrome清除dns缓存 为了加快访问速度,Google Chrome浏览器采用了预提DNS记录,在本地建立DNS缓存的方法,加快网站的连接速度.你在谷歌Chrome浏览器的地址栏中输入about: ...

  6. 清除Windows的DNS缓存

    最近ESET杀毒软件老是提示受到DNS缓存攻击,然后就不能打开网页,或者打开得很慢.这是由于缓存的DNS被更改,访问的是错误的IP地址造成的. 解决的办法就是清除DNS缓存,打开DOS命令窗口,先后输 ...

  7. 【点滴积累,厚积薄发】修改hosts,并刷新dns缓存

    Windows系统下hosts位置 C:\Windows\System32\drivers\etc 修改hosts后,要想马上生效,需要运行命令来刷新DNS缓存:ipconfig /flushdns

  8. 清除dns缓存

    Linux清除dns缓存命令 /etc/init.d/dnsmasq restart

  9. 刷新本地的DNS缓存

    用“WIN +R”快捷键打开运行窗口,输入“cmd”命令,进行命令行窗口.

随机推荐

  1. 【tomcat ecplise】新下载一个tomcat,无法成功启动,或者启动了无法访问localhost:8080页面/ecplise无法添加新的tomcat/ecplise启动tomcat启动不起来

    今天转头使用ecplise,于是新下载一个tomcat7来作为服务器使用 但是问题来了: [问题1:全新的tomcat启动即消耗了不可思议的时间,并且启动了之前其他tomcat中的很多项目] [注意: ...

  2. iOS 应用内的系统复制粘贴菜单显示的语言非中文

    在应用的 Info.plist 文件中添加以下代码: <key>CFBundleLocalizations</key> <array> <string> ...

  3. AngularJS 30分钟快速入门【译】

    引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...

  4. java抽象类

    Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不 ...

  5. asp.net在线预览txt文件(简单实现)

    最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了 txt文件

  6. 第一章-第六题(帮人抢票,帮人选课这些软件是否合法 你怎么看?)--By梁旭晖

    我觉得这些软件是合法的,符合道德规范的. 计算机当初设计的初衷就是简化甚至替代人类的工作.而软件作为计算机硬件的驱动着,其设计就是体现这些原则. 现在互联网上的订票,选课类型的网站还是有很多的,比如: ...

  7. python与shell的3种交互方式介绍

    [目录] 1.os.system(cmd) 2.os.popen(cmd) 3.利用subprocess模块 4.subprocessor模块进阶 [概述] 考虑这样一个问题,有hello.py脚本, ...

  8. IOS网络第五天 AFN-02-文件上传,底部弹出窗体,拍照和相册获取图片上传

    ************** #import "HMViewController.h" #import "AFNetworking.h" @interface ...

  9. reg

    <div class="login-module"> <div class="wide c login"> <form id=&q ...

  10. 【java基础学习】IO流

    IO流 字节流InputStream和OutputStream 字符流Writer和Reader 装饰模式