了解DNS缓存相关知识

DNS 全称 Domain Name System 域名解析系统

浏览器 <=========> DNS缓存 + DNS服务器

DNS解析过程文字性解读:

1. 在浏览器地址栏输入URL后回车,首先识别URL中协议,域名,文件路径,端口等信息。 2. 查找本地hosts文件,如果有这个网址映射关系,则完成解析 3. 询问本地DNS解析器缓存,有则完成解析 4. 查找TCP/IP参数中设置的首选DNS服务器,称之为本地DNS服务器。此服务器收到查询时,如果在在其本地配置区域资源中找到要查询的域名,则完成解析,此解析具有权威性 5. 如果要查询的域名不在本地DNS服务器本地配置资源中,但其缓存了该映射关系,则也完成解析,但此解析不具有权威性 6. 如果以上方法都失效,由本地服务器进行迭代查询,先向根域名DNS服务器发出请求,再查二级域,三级域,直到查询到要解析的地址或名字为止,本地DNS服务器收到应答后,先在缓存中存储,然后将解析结果返回客户机。 7. 没有找到则返回错误。 

小故事总结:

  • 当你(浏览器)来西安旅游不知道大雁塔怎么走,需要问路,张大爷会拿着西安地图(DNS服务器)查一下,(DNS查询)告诉你坐地铁4号线可以直达.
  • 几天当你的同学(浏览器)也来西安旅游再问大雁塔怎么走,张大爷会自然告诉你同学,坐4号线就可以.(这个时候张大爷脑海里就会有DNS缓存).
  • 再过一个月你再来西安旅游,再问张大爷的时候,他就又需要从服务器查询(DNS缓存时间过期)

前端开发在DNS上的优化

DNS Prefetch 是一种DNS 预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行DNS 的解析,减少用户等待时间,提高用户体验。
我们DNS 解析的时候,需要用域名去DNS 解析匹配 IP ,这个是需要时间的,如果加了 dns-perfetch 呢,浏览器会记住(缓存)这个解析,直接就请求过去了,不需要再走DNS 解析。

 <meta http-equiv="x-dns-prefetch-control" content="on"> <link rel="dns-prefetch" href="//www.zhix.net"> <link rel="dns-prefetch" href="//api.share.zhix.net"> <link rel="dns-prefetch" href="//bdimg.share.zhix.net"> 

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/31847

(0)
上一篇 2024年7月27日
下一篇 2024年7月27日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml