【前端性能】浅谈域名发散与域名收敛
云客网您网站的流量加油站【前端性能】浅谈域名发散与域名收敛文/chokcoco性能优化一直是前端工作中十分重要的一环,都说从10到1容易,从1到0很难。而随着前端技术的飞速发展,没有什么技术或者法则是
云客网您网站的流量加油站
【前端性能】浅谈域名发散与域名收敛
文/chokcoco
性能优化一直是前端工作中十分重要的一环,都说从10到1容易,从1到0很难。而随着前端技术的飞速发展,没有什么技术或者法则是金科玉律一沉不变的。
很佩服那些勇于挑战权威,推陈出新的勇者,是他们让我们的技术不断的变革更加的卓越。好像扯远了,本文主要想谈谈两个名词,域名发散和域名收敛。域名发散
这个很好理解,前端er 都知道,PC 时代为了突破浏览器的域名并发限制,遵循这样一条定律:
·http 静态资源采用多个子域名
嗯,为什么要这样做呢,目的是充分利用现代浏览器的多线程并发下载能力。由于浏览器的限制,每个浏览器,允许对每个域名的连接数一般是有上限的,附图

一枚:
上图展示了各浏览器的并行连接数(同域名),可以看到在一些现代浏览器内每个hostname 的最大连接数基本都是6个,IE 稍显傲娇,总体而言并发数不高。所以PC 时代对静态资源优化时,通常将静态资源分布在几个不同域,保证资源最完美地分域名存储,以提供最大并行度,让客户端加载静态资源更为迅速。另外,为什么浏览器要做并发限制呢?
1、究其根本原因,在以前,服务器的负载能力差,稍微流量大一
点服务器就容易就崩溃。所以为了保护服务器不被强暴到崩溃,
SEO 排名http://www.yuntask.com/
,云客网您网站的流量加油站
浏览器要对max connections(最大并发数)进行限制。如果每个
用户的最大并发数不限制的话,服务器的负载能力会大幅下降。
2、另外还有一个方面就是,防止DDOS 攻击。最基本的DoS 攻击
就是利用合理的服务请求来占用过多的服务资源,从而使合法用户
无法得到服务的响应。如果不限制并发请求数量,后果,啊哦,你
懂的。
域名收敛
本文的重点是想谈谈域名收敛,顾名思义,域名收敛的意思就是建议将静态资源只放在一个域名下面,而非发散情况下的多个域名下。
上面也说到了,域名发散可以突破浏览器的域名并发限制,那么为要反其道而行之呢?因为因地制宜,不同情况区别对待,域名发散是PC 时代的产物,而现在进入移动互联网时代,通过无线设备访问网站,App 的用户已占据了很大一部分比重,而域名发散正是在这种情况下提出的。且听我一步步分析。
首先要知道,使用一个http 请求去请求一个资源时,会经历些什么。简单而言:
1、DNS域名解析-->
2、发起TCP 的3次握手-->
3、建立TCP 连接后发起http 请求-->
4、服务器响应http 请求
5、......略
在这里第一步,也是关键的第一步DNS 解析,在移动端的http 请求耗时中,DNS 解析占据了大部分时间。说DNS 域名解析过程前,再科普一下域名结构。
域名结构
域名的结构(或者叫命名空间)是一个树状结构,有树就得有根,这个根是一个点‘.’(dot )。
以www.example.com 为例,完整的形式应该是www.example.com. ,注意最后一个点,就是根结点root ,只不过平时是浏览器或者系统的解析器自动帮我们补全了。我们要想获取根域都有那些,可以在终端下直接使用dig 命令(需要安装dig 指令),如下:
SEO 排名http://www.yuntask.com/
,云客网您网站的流量加油站
可以看到有13个,大部分都是在国外,根节点之后就是顶级域名,就
是.cn .com .gov 这些,顶级域划分为通用顶级域(com 、org 、net 等)和国家与地区顶级域(cn 、hk 、us 、tw 等)。我们可以继续使用dig 查看一下顶级域名的解析路径,加上 trace参数选项,意思是追踪DNS 解析过程,如下:
SEO 排名

云客网您网站的流量加油站
可以看到是先到根节点,再查找到com ,就是根结点会告知下一个结点com 在哪:就是com. 172800IN NS [a-m].gtld-servers.net。ok ,顶级域之后就是我们熟知的一级域名,譬如www.example.com 中的example 就是一级域。有兴趣的可以自己试着用dig 指令再追踪一下:dig example.com. trace,可以看到是从根节点从右向左逐步查找的。
NS 为何
上面两张dig 命令贴图中间出现了很多次NS ,NS 即是NameServer ,大部分情况下又叫权威名称服务器简称权威。
什么是权威呢,通俗点讲其实是某些域的权威,也就是权威上面有这些域的最新,最全的数据,所有这些域的数据都应该以此为准(只有权威可以增删改这些域的
SEO 排名

云客网您网站的流量加油站
数据),就像上面dig com trace的结果可以看到,com 的权威是上面的13个根域。同理,所有的顶级域(cn 、org 、net 等等)的权威都是根域。
SEO 排名http://www.yuntask.com/