是否有关于各种JavaScript CDN的命中率的数据?这将有助于决定使用哪个CDN。
例如,假设我的应用程序需要jQuery。了解Google,MS,CloudFlare等CDN中的哪些jQuery副本可能会被缓存,这对性能非常有用。
(预计有人会说这不是一个编程问题。请亲爱的主持人认为这是一个程序员问一个与编程问题直接相关的问题 - 我如何才能最好地满足我的代码的依赖性。)
(更新 - 啊是的,正如预期的那样,这个有用的编程问题已被标记为偏离主题,因为它不“推荐或找到工具,库或最喜欢的场外资源”,即使它没有做任何这些事情。没有评论。鼓励有用的问题mods的方法。)
答案 0 :(得分:3)
最终,只要您使用具有多个边缘位置且在资源上使用正确缓存标头的真正CDN,它就无关紧要。我这样说是因为所有网站都没有使用相同的jquery版本,因为浏览浏览器会缓存来自不同cdns的多个jquery版本。即使它们都是相同的CDN,由于完整的浏览器磁盘缓存或资源由于最大年龄而自身到期,因此浏览器缓存将被清除以便为新资产腾出空间的可能性越来越大。我们的目标是使用正确缓存的网站让您的返回或频繁访问者满意。
但是比较Google和jQuery(MaxCDN)之间的304标题:
Google在一年内到期,服务器类型和备用协议是专有的,有些是experimental stuff,这可能会让事情变得更快。另一方面,查看jQuery的头文件,它们将在10年后到期,使用keep-alive
,并拥有一个ETAG。
我已经完成了自己的综合测试,对于jQuery,我发现MaxCDN提供的jQuery的CDN在网络延迟和TTFB方面比Google托管的更快。那是很久以前的事了,但你可以在这里看到这些测试:Microsoft CDN for jQuery or Google CDN?
Google的标题:http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
HTTP/1.1 304 Not Modified
Date: Thu, 26 Jun 2014 19:54:52 GMT
Expires: Fri, 26 Jun 2015 19:54:52 GMT
Age: 164637
Server: GFE/2.0
Alternate-Protocol: 80:quic
jQuery的MaxCDN标题:http://code.jquery.com/jquery-1.11.0.min.js
HTTP/1.1 304 Not Modified
Date: Sat, 28 Jun 2014 17:39:58 GMT
Connection: keep-alive
Last-Modified: Wed, 26 Mar 2014 00:56:22 GMT
Vary: Accept-Encoding
ETag: "533225b6-1787d"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Cache-Control: public
Server: NetDNA-cache/2.2
X-Cache: HIT
我无法找到像您一样寻找的数据,HTTPArchive是一个很好的起点,但也找到了