Internet是通过IP地址来查找服务器的.由于IP地址很难记忆,通常使用包含主机名的URL来取代它,但当浏览器发送其请求时,IP地址仍然是必需的。这时,Domain Name System(DNS)在其中起了作用。DNS将主机名映射到IP地址上,就像电话本将人名映射到他们的电话号码一样。当你在浏览器中输入一个网址时,连接到浏览器的DNS解析器会返回服务器的IP地址。

DNS查找可以被缓存起来以提高性能。这种缓存可以发生在由你的ISP或局域网中的一台特殊的缓存服务器上,但我们这里要探索的是发生在独立用户的计算机上的DNS缓存。在用户请求了一个主机名之后,DNS信息会留在操作系统的DNS缓存中,之后对于该主机名的请求将无需进行过多的DNS查找,至少短时间内不需要。很多浏览器拥有其自己的缓存,和操作系统的缓存相分离。只要浏览器在其缓存中保留了DNS记录,它就不会麻烦操作系统来请求这个记录。只有当浏览器缓存丢弃了记录时,它才会向操作系统询问地址--然后操作系统或者通过其缓存来响应这个请求,或者将请求发送给一台远程服务器,这时就会发生潜在的速度降低。

IP地址会变化以及缓存会消耗内存,因此,应周期性地清除缓存中的DNS记录,并通过大量不同的配置设置检测清除的频率有多高。

影响DNS缓存的因素

首先,服务器可以表明记录可以被缓存多久,查找返回的DNS记录包含了一个存活时间(Time-to-live)值,该值告诉客户端可以对该记录缓存多久。

当客户端的DNS缓存为空(浏览器和操作系统都是)时,DNS查找的数量与Web页面中唯一主机名的数量相等。这包括页面URL、图片、脚本文件、样式表、Flash对象等的主机名。减少唯一主机名的数量就可以减少DNS查找的数量。减少唯一主机名的数量会潜在地减少页面中并行下载的数量。

使用Keep-Alive可以通过重用现有连接,从而通过避免TCP/IP开销来减少响应时间,

通过使用Keep-Alive和较少的域名来减少DNS查找。

从减少DNS查找来优化网站相关推荐

  1. 优化网站设计(九):减少DNS查找的次数

    前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个 ...

  2. 网站加速最佳实践 – 减少DNS查找

    参考: http://developer.yahoo.com/performance/rules.html#dns_lookups DNS 就像电话本,根据电话本查找指定网站的 IP 地址.查找一次 ...

  3. 优化网站性能的35条规则

    最新博客站点:欢迎来访 1. 最小化HTTP请求次数 最终用户响应时间的80%用于前端.大部分时间都在下载页面中的所有组件:图像,样式表,脚本,Flash等.减少组件数量反过来减少了呈现页面所需的HT ...

  4. 优化网站设计系列文章总结和导读

    概述 其实想写这方面的文章由来已久,这个系列文章的想法是参照雅虎团队提供的35条性能优化的最佳实践(其实最早的时候是14条),再结合我自己多年的实际工作经验,结合具体的开发平台(ASP.NET),为读 ...

  5. 优化网站速度的几种方式

    优化网站速度的几种方式 在业界有篇很经典的文章,来源于yahoo的开发者社区,它讲述的是如果优化自己的网站的速度,包括从服务器端到客户端.这篇文章影响了很多人,原文可以参照这里:Best Practi ...

  6. 网站优化-减少DNS查询

    什么是DNS? DNS(Domain Name System)译为 域名系统,它是 Internet 的一项核心服务,可以将域名和IP地址相互映射的一个 分布式数据库 ,能够让你方便的访问互联网.   ...

  7. 浏览器dns查找失败_DNS解释-浏览器如何查找网站

    浏览器dns查找失败 So, for those of us who work, play, and communicate over the Internet, we all hear the te ...

  8. chrome 本地站点报错“DNS 查找失败,因此找不到 localhost 的服务器。DNS 是将网站名称解析为互联网地址……”

     chrome 本地站点报错"DNS 查找失败,因此找不到 localhost 的服务器.DNS 是将网站名称解析为互联网地址--"时, 解决办法: 1.打开"本地连 ...

  9. 如何优化网站加载时间

    一.背景 我们要监测网站的加载情况,可以使用 window.performance 来简单的检测. window.performance 是W3C性能小组引入的新的API,目前IE9以上的浏览器都支持 ...

最新文章

  1. 计算机编程课程顺序_您可以在6月开始参加630项免费的在线编程和计算机科学课程...
  2. 熔断的意义和适用场景,你真的清楚吗?
  3. java字符串 直接能网络传输吗_atitit.二进制数据无损转字符串网络传输
  4. 【MVC】ASP.Net MVC 4项目升级MVC 5的方法
  5. MIT自然语言处理第一讲:简介和概述(第二部分)
  6. 针对Linux ASP.NET MVC网站中 httpHandlers配置无效的解决方案
  7. 作者:朱怀球(1970-),男,北京大学教授。
  8. 2016年10个重要的可视化发展
  9. Linux或Linux虚拟机桥接模式使用Python2认证Drcom
  10. 《人间告白》---我看万物像你,我看你像万物
  11. 电脑显示网络计算机和设备不可见,win10系统网络发现已关闭看不到网络计算机和设备的解决方法...
  12. lisp天正图元位置修改_关于图元改层的,请求大佬帮助 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  13. matlab分位数回归,分位数回归及其实例
  14. DOSBox 0.74 汇编 out of memery test.asm(2):out of memory
  15. flash 旋转效果
  16. vue中使用tsx语法
  17. 蓝蓝算法04-字符串逆置
  18. 小心肝队-冲刺日志(第六天)
  19. 下半年计算机二级什么时候出成绩,2021下半年计算机二级考试时间 成绩什么时候出来...
  20. 计算机屏幕太亮怎么调,电脑屏幕太亮太刺眼了怎么调整

热门文章

  1. 导入hbase_HBase基础学习之bulkload了解
  2. js深拷贝和浅拷贝对数组的影响_JS基础——深拷贝与浅拷贝
  3. Java jar 修改(springfox-swagger-ui-2.9.2.jar 修改去掉顶部的绿色topbar,汉化)
  4. pg函数同步数据到mysql_将数据从PostgreSQL复制到MySQL
  5. 系统集成项目管理工程师考试大纲第二版
  6. unbuntu cmake安装mysql_Ubuntu下源码安装MySQL-5.5.25a
  7. uva 436 Arbitrage (II)
  8. Global.asax中的C#服务
  9. 在线平互动台活动启动《Discover How to Make the Computer Easier to Use with Windows Vista》...
  10. 通用客户端表单验证函数修正版(zz)