如何选择CDN及怎么帮助前端的

  CDN服务商经常引用独立第三方公司的拨测数据来证明自己的CDN服务更好,虽然这些数据在某个区域或时间段也许是准确的,实际却是盲人摸象,无法证明全时段和全网CDN服务的真实性能,也许从CDN服务商所处的网络环境和提供的技术功能入手,会是更科学和公平的对比方法。

  拥有DNS优化策略的CDN提供商,会有更好的用户体验。

  理论上ISP的DNS服务器会选择离用户较近CDN节点IP并返回给用户,但是实际情况并不是这么简单,国内的大城市的ISP业务,除了一些区域性的ISP,基本被联调,电信和移动这样的大运营商所垄断,由于各运营商之间存在着网间费用结算,运营商会想尽一切办法将用户的访问在自己的网内解决掉。

  CDN服务商所在自治系统AS的相邻AS越多,离运营商骨干网越近,数据传输也会更有优势。

  CDN服务商所在的AS离运营商骨干网AS越近,理论上数据包传输所花时间也越少,另外,CDN厂商如果同时租用了多个运营商品牌的带宽线路,其服务器的IP就会同时属于这几家运营商的AS,跨运营商的数据传输时间也会比只有一个运营商的相对快些,就如同有多个高速公路的通行证,数据在传输过程中从一家的路面后就可直达用户,而不用来回在多个道路上切换,避免了不必要的时间损耗。

  我们了解一下CDN是怎么帮助前端的。

  CDN往往被用来存放静态资源,上文中我们举例所提到的“根服务器”本质上是业务服务器,它的核心任务在于生成动态页面或返回非纯静态页面,这两种过程都是需要计算的,业务服务器仿佛一个车间,车间里运转的机器轰鸣着为我们产出所需的资源,相比之下,CDN服务器则像一个仓库,它只充当资源的“栖息地”和“搬运工”。

  所谓“静态资源”,就是像JS,CSS,图片等不需要业务服务器进行计算即得的资源,而“动态资源”,顾名思义是需要后端实时动态生成的资源,较为常见的就是JSP,ASP或者依赖服务端渲染得到的HTML页面。