如果我在这里导航:http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
我使用Firefox 3.6.3下载70k,我可以确认它正在发送Accept-Encoding:gzip。
如果我使用Microsoft:http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js
我下载30k(它来自内容编码:gzip)
在常规网站(例如jquery.com)中使用jquery 1.4.2时,我也遇到了这种情况。很有趣的是,在谷歌cdn上引用jquery 1.3.2的堆栈溢出正在通过gzip压缩。
为什么会这样?这是谷歌的某种问题,还是我错过了什么?
我住在澳大利亚墨尔本。
编辑:oops混淆了链接。嗯http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js对我有用..看起来它只是1.4包含一个答案 0 :(得分:8)
关于Google CDN上的GZip支持:
Google的CDN支持GZip压缩。据我所知,它不支持Deflate,但这并不重要,因为所有主流浏览器都支持。
您可以使用Rex Swain's very nice HTTP viewer自行验证;只需在Accept-Encoding字段中输入“gzip”。
我玩了一下,我认为谷歌的CDN在发送压缩的Javascript之前需要浏览器白名单。如果你有时看到来自谷歌CDN的反应过于激烈,那么也许这就是让你失望的原因。如果你想玩这个,你可以再次使用Rex Swain的查看器,并将一个无意义的字符串作为User-Agent标题。
关于“自动升级”网址:
恕我直言,使用Google CDN上的1.x或1.4.x链接(没有完全限定版本号的链接)并不理想。
第一个原因是Google正在提供缓存控制最大值为1小时的低URL。谷歌当然这样做是为了在新版本的jQuery发布时促进快速更新。 (这可能不像最初看起来那样糟糕.Google还会发送重新验证和Last-Modified标头,因此我假设Google的CDN完全支持重新验证。)
我不喜欢自动升级URL的主要原因是:如果您使用自动升级的其中一个URL提供jQuery,那么您将面临未知的不兼容问题。未来版本的jQuery 可能与您正在使用的许多第三方脚本之一发生冲突,并导致您的页面无声地破解。
<强>结论:强>
有reasonable critiques against using Google's CDN。有些团队有一个很好的构建过程,自动脚本组合和缩小,以及快速的全局CDN内容。如果您在其中一个团队中,那么Google的CDN可能不是您的最佳选择。但是,形成大多数“常见”网站,提供jQuery的最佳方式是使用Google's CDN with a full version identifier。
答案 1 :(得分:1)
我正好相反。
Google版本为24KB,MS版本为70KB ......