You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
所有根域名服务器都是以同一份根域文件(Root Zone file,文件名为root.zone)返回顶级域名权威服务器(包括通用顶级域和国家顶级域),文件只有2MB[31]大小。截至2017年10月9日,一共记录了1542个顶级域。对于没被收录的顶级域,是没法通过根域名服务器查出相应的权威服务器。而其他递归DNS服务器则只需要配置Root Hits文件,只包含根域名服务器的地址。
The X-DNS-Prefetch-Control HTTP response header controls DNS prefetching, a feature by which browsers proactively perform domain name resolution on both links that the user may choose to follow as well as URLs for items referenced by the document, including images, CSS, JavaScript, and so forth.
This prefetching is performed in the background, so that the DNS is likely to have been resolved by the time the referenced items are needed. This reduces latency(延迟) when the user clicks a link.
DNS工作原理
前言
DNS
(Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本,电话黄页。 使用的是UDP
协议进行传输。dig
host
nslookup命令
whois
命令域名分级查找
.root
.com
.net
.cn
.edu
.taobao
.baidu
.alibaba
map.baidu
image.baidu
1、查找本地缓存
每一次
DNS
的查找结果,OS都会进行一定时间的缓存。本地 DNS 服务器地址从哪里来
UNIX
系统中,在/etc/resolve.conf
文件中查看cDNS
服务器的IP地址。Mac 使用偏好设置一样可以看到对应设置
。2、向本地DNS服务器查找
每一次连接网络的时候,
DNS
服务器都是可以通过DHCP
协议动态获取的,常用的DNS
服务器一般是你接入的ISP
提供的服DNS
服务器。UDP DNS
客户端(系统)向本地DNS服务器查找
ip
,这个过程OS
通过UDP
请求向本地DNS
服务器询问这个www.baidu.com
对应的ip
是多少。为什么是
UDP
呢? 因为这时候只需要查询一个www.baidu.com
的ip
地址,数据量极少,不可能超过512
字节,所以为了速度。TCP DNS
首先我们要知道两个概念,
DNS主服务器
和DNS辅助服务器
主服务器托管控制区域文件,该文件包含域的所有权威信息(这意味着它是重要信息的可信源,例如域的IP地址)
辅助服务器包含区域文件的只读副本,它们通过称为区域传输的通信从主服务器获取其信息。每个区域只能有一个主DNS服务器,但它可以有任意数量的辅助DNS服务器。
一台DNS服务器可以是一个区域的主要服务器,也可以是另一个区域的辅助服务器。
其实这里是要补充说明一下,
DNS
中也有一个地方用到了TCP
协议,那就是辅助DNS服务器
从区主DNS服务器
中,读取该区域的DNS数据信息
的时候,称之为区域传送
。这个过程因为数据量比较大、而且需要保证正确性,所以这里使用到了可靠传输TCP
。3、根域名服务器
来自维基百科的词条,不多解释
4、顶级域名服务器
说到顶级域名的制定的管理,就不得不提
ICANN
这个组织,他是原来美国商务部的一个机构,现在独立为一个非盈利机构,专职管理域名。👆上面根域名服务器返回的2MB
文件,就是这些顶级域名
与其对应服务器地址。当然,这些服务器
ICANN
不会都自己进行管理,而是交给不同的服务商。5、子域名服务
子域名服务一般由开发者自身的服务器中的
web
服务器来充当,比如我们熟悉的nginx
。流程总结
DNS与前端优化
DNS
的查询时间也包括在我们访问网站的响应时间内,一般为20-120毫秒的时间,所以减少DNS查询时间,是能够有效减少响应时间的方法。 MDN原文 👉兼容性
感动得流泪...IE6-8竟然都支持...
使用
我们来看看
淘宝网
是怎么用prefetch
的观察 DNS-prefetch 的工具
使用Chrome浏览器,打开
chrome://histograms/DNS.PrefetchQueue
这个页面,就能查看到项目中使用 dns-prefetch
Manual Prefetch 这是使用
dns-prefetch
之前必须要先知道的知识。文档中提到其他资源的 pre-fetch
<a>
<style>
等带有href
的标签手动pre-fetch
js
跳转站外的,需要手动进行pre-fetch
script
、img
、font
等静态资源进行pre-fetch
pre-fetch
参考文章
[1] 阮一峰 - DNS入门
[2] 前端优化与DNS
[3] 主DNS服务器与辅助DNS服务器的区别
[4] 讲讲DNS的原理?
The text was updated successfully, but these errors were encountered: