浅谈域名发散与域名收敛_第1页
浅谈域名发散与域名收敛_第2页
浅谈域名发散与域名收敛_第3页
浅谈域名发散与域名收敛_第4页
浅谈域名发散与域名收敛_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、览器的并行连接数同域名,可以看到在一些现代浏览器内每个 hostname 的最XX接数根本都是6个,IE 稍显傲娇,总体而言并发数不高。所以 PC 时代对静态资源优化时,通常将静态资源分布在几个不同域,保证资源最完美地分域名存储,以提供最大并行度,让客户端加载静态资源更为迅速。另外,为什么浏览器要做并发限制呢.1、究其根本原因,在以前,效劳器的负载能力差,稍微流量大一点效劳器就容易就崩溃。所以为了保护效劳器不被强暴到崩溃,浏览器要对 max connections最大并发数进展限制。如果每个用户的最大并发数不限制的话,效劳器的负载能力会大幅下降。2、另外还有一个方面就是, 防止 DDOS 攻击

3、。最根本的 DoS 攻击就是利用合理的效劳请求来占用过多的效劳资源,从而使合法用户无法得到效劳的响应。如果不限制并发请求数量,后果,啊哦,你懂的。域名收敛本文的重点是想谈谈域名收敛,顾名思义,域名收敛的意思就是建议将静态资源只放在一个域名下面,而非发散情况下的多个域名下。上面也说到了,域名发散可以突破浏览器的域名并发限制,那么为要反其道而行之呢.因为因地制宜,不同情况区别对待,域名发散是 PC 时代的产物,而现在进入移动互联网时代,通过无线设备访问,App的用户已占据了很大一局部比重,而域名发散正是在这种情况下提出的。且听我一步步分析。请求过程首先要知道,使用一个请求去请求一个资源时,会经历些

4、什么。简单而言:1、DNS 域名解析 -2、发起 TCP 的 3 次握手 -3、建立 TCP 连接后发起请求 -4、效劳器响应请求5、.略在这里第一步,也是关键的第一步 DNS 解析,在移动端的请求耗时中,DNS 解析占据了大局部时间。说 DNS 域名解析过程前,再科普一下域名构造。域名构造域名的构造或者叫命名空间是一个树状构造,有树就得有根,这个根是一个点.dot。以.example.为例,完整的形式应该是.example.,注意最后一个点,就是根结点 root ,只不过平时是浏览器或者系统的解析器自动帮我们补全了。我们要想获取根域都有那些,可以在终端下直接使用dig命令需要安装 dig 指

5、令,如下:可以看到有 13 个,大局部都是在国外,根节点之后就是顶级域名,就是. . .gov 这些,顶级域划分为通用顶级域、org、net 等和国家与地区顶级域、hk、us、tw 等。我们可以继续使用 dig 查看一下顶级域名的解析路径,加上 +trace 参数选项,意思是追踪 DNS 解析过程,如下:可以看到是先到根节点,再查找到,就是根结点会告知下一个结点在哪:就是. 172800 IN NS a-m.gtld-。 ok,顶级域之后就是我们熟知的一级域名,譬如.example.中的 example 就是一级域。有兴趣的可以自己试着用 dig 指令再追踪一下:dig example. +t

6、race ,可以看到是从根节点从右向左逐步查找的。NS 为何上面两X dig 命令贴图中间出现了很屡次 NS ,NS 即是NameServer,大局部情况下又叫权威名称效劳器简称权威。什么是权威呢,通俗点讲其实是某些域的权威,也就是权威上面有这些域的最新,最全的数据,所有这些域的数据都应该以此为准只有权威可以增删改这些域的数据,就像上面 dig +trace的结果可以看到,的权威是上面的 13 个根域。同理,所有的顶级域、org、net 等等的权威都是根域。 DNS 解析其实上面就是 DNS 解析的一个大致过程,即迭代解析,但是不是很详尽,一个完整的 DNS 解析过程如下:Step1: 首先拿

7、到 URL 后,浏览器会寻找本地的 DNS 缓存,看看是否有对应的 IP 地址,如果缓存中存在那就好了,如果没有,那就得向 DNS Server 发送一个请求,找到你想要的 IP 地址。Step2: 首先他会向你的 ISP(互联网效劳提供商) 相关的 DNS servers 发送 DNS query。然后这些 DNS 进展递归查询(recursive)。所谓的递归查询,就是能够直接返回对应的IP地址,而不是其他的 DNS server 地址。Step3: 如果上述的 DNS Servers 没有你要的域名地址,那么就会发送迭代查询,即会先从 root nameservers 找起。即是假设你要

8、查询.example.,会先从包含根结点的13 台最高级域名效劳器开场。Step4: 接着,以从右向左的方式递进,找到. 然后向包含的 TLD(顶级域名) nameservers 发送 DNS 请求。接着找到包含example的 DNS server。Step5: 现在进入到了example.局部,即是现在正在询问的是权威效劳器,该效劳器里面包含了你想要的域名信息,也就是拿到了最后的结果record 。Step6: 递归查询的 DNS Server 承受到这 record 之后, 会将该record 保存一份到本地。如果下一次你再请求这个 domain 时,我就可以直接返回给你了。由于每条记录

9、都会存在TLL,所以 server 每隔一段时间都会发送一次请求,获取新的 record,Step7: 最后,再经由最近的 DNS Server 将该条 record 返回。同样,你的设备也会存一份该 record 的副本。之后,就是 TCP 的事了,下面是一X萌萌的简化图:到这里,我们大致就可以梳理一下,迭代查询的过程如下:流程:.=.=.exampl.=.example.=IP adress TTL 为何TTL 是 Time To Live 的缩写,该字段指定 IP 包被路由器丢弃之前允许通过的最大网段数量。TTL 是 IPv4 XX的一个 8 bit 字段。简单的说它表示 DNS 记录在

10、 DNS 效劳器上缓存时间。扯了这么多请求, DNS 解析,回到正题域名收敛上,从上面可以看到,DNS 解析其实是一个很复杂的过程,在 PC 上,我们采用域名发散策略,是因为在PC 端上,DNS 解析通常而言只需要几十 ms ,可以承受。而移动端,2G 网络,3G网络,4G网络/wifi 强网,而且移动 4G 容易在信号不理想的地段降级成 2G ,通过大量的数据采集和真实网络抓包分析存在DNS解析的请求,DNS的消耗相当可观,2G网络大量5-10s,3G网络平均也要3-5s数据来源于淘宝。下面附上在 2G,3G,4G, WIFI 情况下 DNS 递归解析的时间ms:因为在增加域的同时,往往会给

11、浏览器带来 DNS 解析的开销。所以在这种情况下,提出了域名收敛,减少域名数量可以降低 DNS 解析的本钱。下列图是手机端页面加载数和域名分散数的关系from Mobify Developer:在 2 个域名分散条件下,网页的加载速度提升较大,而第 3 个以后就比拟慢了。所以,一般来说,域名分散的数量最好在 3 以下。SPDY本来至此,本文应该完毕了,谈了下域名发散与域名收敛。但是,单纯的在移动端采用域名收敛并不能很大幅度的提升性能,很重要的一点是,在移动端建连的消耗非常大,而SPDY 协议可以完成多路复用的加密全双工通道,显著提升非wifi环境下的网络体验。俗话说,好刀配好鞘,好马配好鞍,当

12、域名收敛配合 SPDY 才能最大程度发挥他们的效用,到达事半功倍。那么什么是 SPDY.SPDY,一种开放的网络传输协议,由Google开发,用来发送网页内容。基于传输控制协议TCP的应用层协议,是/2 的前身。SPDY 的作用就是,在不增加域名的情况下,解除最XX接数的限制。主要的特点就是多路复用,他的目的就是致力于取消并发连接上限。那么相比, SPDY 具体的优势在哪里呢:1. 多路复用请求优化SPDY 规定在一个 SPDY 连接内可以有无限个并行请求,即允许多个并发请求共用一个 TCP会话。这样 SPDY 通过复用在单个 TCP 连接上的屡次请求,而非为每个请求单独开放连接,这样只需建立

13、一个 TCP 连接就可以传送网页上所有资源,不仅可以减少消息交互往返的时间还可以防止创立新连接造成的延迟,使得 TCP 的效率更高。此外,SPDY 的多路复用可以设置优先级,而不像传统那样严格按照先入先出一个一个处理请求,它会选择性的先传输 CSS 这样更重要的资源,然后再传输图标之类不太重要的资源,可以防止让非关键资源占用网络通道的问题,提升 TCP 的性能。2. 支持效劳器推送技术效劳器可以主动向客户端发起通信向客户端推送数据,这种预加载可以使用户一直保持一个快速的网络。3. SPDY 压缩了头舍弃掉了不必要的头信息,经过压缩之后可以节省多余数据传输所带来的等待时间和带宽。4. 强制使用 SSL 传输协议Google 认为 Web 未来的开展方向必定是平安的网络连接,全部请求 SSL 加密后,信息传输更加平安。看看 SPDY 的作用图:SPDY 协议在性能上对做了很大的优化,其核心思想是尽量减少连接个数,而对于的语义并没有做太大的修改。具体来说是,SPDY 使用了的方法和页眉,但是删除了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论