公共 CDN评测

参与评测的公共 CDN 服务商

首先,入选的公共 CDN 都必须是积极更新、积极维护的,意味着新浪、百度、又拍 JSCDN 之流是不参与评测的。

  • BootCSS 国内最著名、使用最广泛的公共 CDN 之一
  • css.loli.net 由土豪兽兽维护的公共 CDN,css.net 的船新升级版本
  • Staticfile 由七牛维护的公共 CDN 服务
  • 75CDN 由 360 的奇舞团运营的公共 CDN
  • 今日头条公共 CDN
  • jsDelivr 由 Prospect One 运营,非常快速和非常可靠的公共 CDN
  • CDNJS 非常著名的公共 CDN,国内大部分公共 CDN 都是和它维护的库同步
  • Unpkg 著名的公共 CDN,从 NPM 抓取 Package 中的文件
  • Bootstrap CDN Bootstrap 官方推荐的公共 CDN

评测角度

  • HTTPS 和 HTTP2
  • 服务商 直接关系到公共 CDN 的质量和 SLA
  • 节点数量和质量 关系到终端用户的速度

海外的公共 CDN 服务商和中国的公共 CDN 服务商的评判方法不同,中国的从 国内节点 和 海外节点 来衡量,海外的从 全球节点 和 中国节点 来衡量

  • 加载速度 从国内和海外两个部分衡量
  • 服务域名和使用的权威 DNS 决定了公共 CDN 的 SLA 和解析速度

公共 CDN 由于频繁调用,解析结果绝大部分都会被递归 DNS 缓存,解析速度受权威 DNS 影响不大;但是通过使用的权威 DNS 也可以看出公共 CDN 服务商的投入多少

  • 便捷性 是否方便开发者使用

比如是否提供 Lib 库搜索、是否支持一键复制 URL 或者标签

评测对象

BootCDN
  • 支持 HTTPS,支持 HTTP2
  • 猫云 CDN(腾讯云的分支)
  • 丰富的国内节点
  • 没有海外节点(有香港节点),在国内速度还不错,海外的话不敢苟同
  • 使用阿里云解析免费版
  • 开放 API;提供搜索引擎索引;支持一键复制标签和 URL
  • 便捷性:★★★★★

BootCDN 是国内使用最广泛的公共 CDN。BootCDN 之前和又拍云合作。虽然又拍云与其他 CDN 相比有些亮点(WebP 和 H264 自适应、TLS1.3 等),但节点质量实在不敢恭维,海外也只有香港、新加坡、北美、荷兰四个节点(法兰克福被去掉了)。BootCDN 的官方博客还 记录了一次事故,大意是 CC 攻击使得又拍云封禁了不少 BootCDN 的 URL。

不知道是又拍不再赞助、还是服务质量不能满足需要,BootCDN 今年切换到了猫云CDN(也就是腾讯云)。腾讯云在国内的节点还算数量丰富、覆盖范围和又拍云不分上下;但是腾讯云没分配海外节点给 BootCDN,海外会解析到中国香港节点。

关于 BootCDN 使用 阿里云解析免费版,我个人觉得作为国内使用如此广泛的公共 CDN 用免费版的 阿里云解析 ,毕竟不能保障 SLA;但是话说回来,公共 CDN 毕竟也是免费服务,还是别多嘴了。

loli CDN
  • 支持 HTTPS,支持 HTTP2
  • CDN节点为 xTom
  • 无国内节点
  • 为数不多的海外节点
  • 全球速度都可以接受
  • *.loli.net,DNS为dns.sb,尚未见过
  • 便捷性:★★

css.loli.net 除了同步 cdnjs 的库,还提供 Google Fonts 和 Gravatar 等服务的反代。

css.loli.net 的前身是兽兽的 css.net,后来兽兽改用 cat.net 几个子域名,直到现在的 loli.net;全球速度都一般。

说到便捷性,css.loli.net 只是提供加速服务,并没有提供类似搜索或者一键复制的功能,而是让开发者将现有的海外公共 CDN 的域名替换为他们的服务域名。

Staticfile
  • 支持 HTTPS,不一定 支持 HTTP2
  • 著名的二手 CDN 贩子七牛云 CDN,上游说不准是哪个
  • 丰富的国内节点
  • 单调的海外节点
  • 国内的速度还是不错的
  • cdn.staticfile.org,DNSPod 免费版
  • 有搜索引擎,支持一键复制文件 URL
  • 便捷性:★★★★

和别的公共 CDN 同步 CDNJS 的 Lib 库不同,Staticfile 自己维护了一个 Lib 库,曾经断更过一年(那时候经常没法用最新版本的库),不过现在继续维护了。

Staticfile 用的 CDN 是七牛。七牛的计费系统曾是 V2EX 工单板块的常客,七牛的配置更新是用来衡量咕咕咕的单位,人们像买彩票一样看七牛会分配哪个上游 CDN,至今坊间依然在流传七牛人工向上游服务商手动提交客户的 SSL。当然我这篇文章并不是为了黑七牛,所以赶紧言归正传。七牛之前给 Staticfile 分配了网宿,所以没有 HTTP2 但是有海外节点,之后全面切换到又拍云、有了 HTTP2 但是海外只剩一个法兰克福,又新分配了阿里云 CDN 但是没了海外节点,直到现在终于有了自己的CDN节点 ,颇有些让人哭笑不得 。

即便如此,Staticfile 还算是不错的公共库,加上 Staticfile 诞生比 BootCDN 要早,所以在国内使用也非常广泛。

75CDN
  • 支持 HTTPS,支持 HTTP2
  • 360 自家服务同款 CDN
  • 丰富的国内节点
  • 有几个海外节点
  • 国内的速度还是不错的
  • lib.baomitu.com,360 官网同款 DNS
  • 有搜索引擎,支持一键复制文件 URL
  • 便捷性:★★★★★

75CDN 是 360 前端团队奇舞团维护的,除了同步 CDNJS 以外,还提供 Google Fonts 本土化(不是单纯的反代)。75CDN 号称首个支持 HTTP2 和 SRI 的公共 CDN(如果把大前提缩小在国内的话还是挺正确的);抛去这些可能涉嫌虚假宣传的广告词,75CDN 使用的 360 自家服务同款 CDN 和权威 DNS,速度和 SLA 肯定不会低于 BootCDN 或者 Staticfile;总体来说值得托付。

今日头条公共 CDN
  • 支持 HTTPS,不一定 支持 HTTP2
  • 国内的节点多为腾讯云,海外的节点多为阿里云
  • 丰富的国内节点,大量的海外节点
  • 全球的速度都不错的
  • 阿里云解析收费版
  • 有搜索引擎,支持一键复制文件 URL
  • 便捷性:★★★★★

说实在的,其实今日头条的公共 CDN(由母公司字节跳动的团队负责运营)本来不应该入选评测的 —— 上游同样是 CDNJS,但是并没有定时同步了,jquery版本更新也不及时,还大字写了个什么禁止非法网站调用啥的。但是之所以还要再补充关于它的说明主要是这个公共 CDN 非常有趣。

首先他不是直接给你直链,你点击文件以后跳转的链接是随机分配的,可能是受到早期前端优化中域名分片的影响、以及间接实现在多家 CDN 之间的负载均衡吧。

虽然这个公共库处于年久失修的状态,但是考虑到它接的 CDN 上游都挺有趣的,还是可以考虑体验一下的,但是如果要用于生产环境的话还是留个心眼比较好。

jsDelivr
  • 支持 HTTPS,支持 HTTP2,提供 SRI
  • 网宿、Fastly、Stackpath、Cloudflare Business Plan
  • 丰富的国内节点和海外节点
  • 全球的速度都极为优秀
  • cdn.jsdelivr.net,NS1 和 Rage4 主从 DNS
  • 有搜索引擎,支持一键复制文件 URL 和标签
  • 便捷性:★★★★★

如果有人让我推荐公共 CDN,我一定会推荐 jsDelivr。实时监测各地服务质量、调度多家 CDN 保障全球加载速度;拥有多层缓存和灾备保障 100 SLA。更重要的是 jsDelivr 有 ICP 备案、接入网宿,是海外公共 CDN 服务中很可能唯一提供中国节点的。

jsDelivr 支持从 NPM、GitHub Tag 和 WordPress SVN 上抓取文件并分发,大大降低了开发者使用的难度 —— 直接发个 Release 就可以用了。jsDelivr 每个月会被调用上百亿次,服务 600+ TB 的流量,意味着如果你不是通过 jsDelivr 加载较为热门的库,那么缓存命中率是不会太理想的。

之前网宿的杭州节点遭到入侵,一干二手 CDN 都被 MITIM,jsDelivr 也受到影响、不得不切走网宿,不过问题解决以后又切回来了。这也算是 jsDelivr 的一次事故吧,虽然锅得网宿背。

CDNJS
  • 支持 HTTPS,支持 HTTP2,提供 SRI
  • 没有国内节点,比较丰富的海外节点
  • 国内的速度很不理想,海外的速度非常优秀
  • Cloudflare 官网同款 DNS
  • 有搜索引擎,支持一键复制文件 URL 和标签
  • 便捷性:★★★★

与其说 CDNJS 是世界上最广泛使用的公共 CDN 服务,或者去探讨 Cloudflare 在海外的加速效果,还不如提一下 CDNJS 对其它公共 CDN 服务的贡献 —— 正如我在前面介绍的那样,国内很多公共 CDN 服务都是在同步 CDNJS 维护的 Lib 库。

CDNJS 的 CDN 由 Cloudflare 赞助,和 Cloudflare 官网同级别的(Enterprise Plan)服务。当然由于众所周知的原因,肯定不推荐面向国内的站点使用这家公共 CDN。考虑一下自己站点访客的主要来源,你会从 CDNJS 的几个镜像中挑选出符合需求的。

Unpkg
  • 支持 HTTPS,支持 HTTP2
  • 没有国内节点,非常丰富的海外节点
  • 国内的速度很不理想,海外的速度非常优秀
  • Cloudflare DNS
  • 有搜索引擎
  • 便捷性:★★★

开源库、开源框架如果在文档的「Getting Started」中提到 CDN 的话,大多都会提一笔如何使用 Unpkg 加载。前身是 npmcdn.com 的 Unpkg 是最早分发 NPM 包的文件的公共 CDN,受到很多开发者的喜爱 ——Unpkg 可以很方便的直接使用指定版本的开源库。

不过由于 Unpkg 也是使用的 Cloudflare,在国内的速度并不理想,所以开发者大多都是用 Unpkg 开发和测试,并不会用在生产环境部署。

Bootstrap CDN
  • 支持 HTTPS,支持 HTTP2
  • MaxCDN、Stackpath
  • 没有国内节点,丰富的海外节点
  • 国内速度不太理想,海外的速度优秀
  • Route53 和 NS1 主从 DNS
  • 支持一键复制文件 URL 和标签
  • 便捷性:★★★

Bootstrap CDN 是 Bootstrap 推荐使用的公共 CDN 服务,因此虽然只提供了 Bootstrap、Font Awesome 和 Bootswatch 三个库的加速服务,但是使用人数众多,每月流量都是 PB 级别。

之前 Bootstrap CDN 由 MaxCDN 赞助,后来 Stackpath 合并了 MaxCDN 以后继续提供赞助;两个域名都可以正常使用。国内速度虽然略好于 Cloudflare,但是依然不理想,所以面向国内的站点也不推荐取用 Bootstrap CDN。

生成海报

杨柳清风

城很大,楼很高,每个人都在奋力奔跑。

3 条评论

  1. luwenkuo

    可以,前来支持

  2. nice

  3. tom3188

    可以

相关推荐

HTTP API 认证授权术

我们知道,HTTP是无状态的,所以,当我们需要获得用户是否在登录的状态时,我们需要检查用户的登录状态,一般来说,用 ...

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

公共 CDN评测