我为什么使用Google CDN

自从之前jQuery 1.3版起,就已经没有提供pack版了,而我也十分赞成使用Google CDN进行代码托管。

这样做有以下几个好处:
1,更小下载量。
都知道jQuery 1.3 pack后有38k之多,如果当然可以删除版权注释以获得更小的代码,遗憾的是这不仅无耻且只节约1个k都不到。而同样利用Google APIs 提供的GZip过的Min版,只有18k,对用户来说下载量更小。

2,减轻服务器压力。
虽然现代浏览器都有了缓存,但以前我看到过资料说某大型网站发现他们70%的访客缓存都是空的(哪位同学能帮忙找到资料请下面留言,不胜感激~)。所以,让Google为我们提供服务,而不用自己操心自己的流量~少个库可以少个连接数,何乐而不为。

3,多个网站共享缓存。

如果用户访问的多家网站都使用Google提供的jQuery,那么对于用户来说,只需要缓存一次后即可只读取缓存中的数据!而不是每个网站都要重新下载一份。对此进一步加快用户访问速度。

4,更快执行速度。
jQuery 1.3.1发布的发布信息中,为jQuery不提供pack版给出了官方的解释。除了不易debug,在Adobe AIR和Caja-capable等环境下无法使用之外,更重要的是因为执行速度问题。随着jQuery逐渐变“胖”,用pack压缩后在浏览器端“解压缩”所需要的资源越来越大。想象一个超大的字符串多次replace后再eval的情景……这不比直接读取一个不需要解压缩的min版来得快。John给出了一些数据,有兴趣的同学可以看看。

反对的声音:
“不安全”、“没安全感”、“放别人的机器太危险了”、“他们服务器倒了呢?”、“以前刚开始的时候就down过”

我认为(晕……怎么我觉得我在写四六级作文……)Google服务器down的几率与我们自己服务器down的几率不会有显著性差异(抱歉,我又空口无凭说话了……不过如果哪位同学能给出数据来拒绝我的零假设,认可备选假设的,欢迎提供,再次不胜感激~)。所以就放他们那边吧,挺安全的。

另外我还听到关于不能让整个世界为着Google转,Google阴谋论,Google威胁论的声音。实际上Google确实正朝这个方向发展,让整个互联网围着他转。可以看他提供的一些服务,什么云计算,什么App Engine之类的,都企图让人们的应用都建立在Google至上,当Google成为了空气的时候,他已经无处不在了。这点来说,值得担忧。

《我为什么使用Google CDN》有19个想法

  1. CDN是个不错的解决方案.之前1.2的时候就用了,但现在用XSL,用CDN的google.load()时,FIREFOX会有问题.没办法只好直接引用GG的jquery.min.js了

    1. @柠檬园主
      直接引用也很好啊,没必要一定用google.load来做的~
      我也是这么做的~

      @Fisher
      内网和教育网我估计不一定适合用Google CDN,可能访问不是很通畅。

  2. 我现在一个内网的项目上基于jQuery,目前用的还是自己的host,尝试下改用Google CDN,看看速度是否会好一些吧。其实还是个不错的选择。

  3. 下午在项目上测试了一下,确实还是直接引用自己的比较好。相应在20ms左右,Google的相应在200ms左右,不过对于放在Internet上的,200ms还是不错的。

    1. 非常感谢你的测试数据,
      问一下你的项目上用了gzip版的min么?还是用了pack版的?
      我记得pack版应该没那么快的。

  4. @Shawphy
    用的gzip的min版本,200ms估计是因为单位使用美国代理来访问Internet的,所以速度比国内的快?

    1. 这确实太棒了。看来在自己有服务器且开启gzip的情况下,使用自己的服务器是显然要快很多。同时,对于老美来说,google服务器也可能很快。非常感谢你的数据~

  5. 无意间闯进来,收获不少。
    楼主,什么联系你啊?
    有qq么?
    加我:759922422
    请教一些问题。

  6. 没想到进到了Jquery中文版的译者的网站,最近我也在抛弃自己乱写的Js和学习Jquery中(当然是看你们写的中文版,要是再有实例演示就更好了,感觉里面的例子不是很给力)。现在的Jquery不是一般的“胖”了,1.5.1就算pack过也有58.6KB,再Gzip也有28.3 KB,比我最喜欢的1.2 pack还大。

发表评论