Google CDN 未对 jquery 进行 gzip 压缩

2023-11-28

如果我导航到这里:http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

我使用 Firefox 3.6.3 下载了 70k,我可以确认它正在发送 Accept-Encoding: gzip。

如果我使用微软的:http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js

我下载了 30k(它以内容编码:gzip 的形式出现)

我在常规网站(例如 jquery.com)中使用 jquery 1.4.2 时也遇到了这种情况。有趣的是,引用 google cdn 上的 jquery 1.3.2 的堆栈溢出是通过 gzipped 来的。

为什么会发生这种情况?这是谷歌的某种问题还是我错过了什么?

我住在澳大利亚墨尔本。

编辑:哎呀混淆了链接。唔http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js对我有用..看起来只是 1.4 版本的


关于 Google CDN 上的 GZip 支持:

Google 的 CDN 支持 GZip 压缩。据我所知它不支持 Deflate,但这并不重要,因为所有主流浏览器都支持两者。

您可以使用自己验证这一点Rex Swain 非常好的 HTTP 查看器;只需在接受编码字段中输入“gzip”即可。

我玩了一下,我认为 Google 的 CDN 需要在发送压缩的 Javascript 之前将浏览器列入白名单。如果您有时看到 Google CDN 的响应过于丰富,那么也许这就是让您绊倒的原因。如果你想玩这个,你可以再次使用 Rex Swain 的查看器,并在 User-Agent 标头中放入一个无意义的字符串。

关于“自动升级”URL:

恕我直言,在 Google CDN 上使用 1.x 或 1.4.x 链接(没有完全限定版本号的链接)并不理想。

第一个原因是 Google 为这些 URL 提供 Cache-Control max-age 值较低的 1 小时。 Google 这样做当然是为了在 jQuery 新版本发布时方便快速更新。 (这可能并不像最初看起来那样对性能造成影响。Google 还发送重新验证和 Last-Modified 标头,因此我认为 Google 的 CDN 完全支持重新验证。)

我不喜欢自动升级 URL 的主要原因是:如果您从具有自动升级功能的 URL 之一提供 jQuery,那么您以后将面临未知的不兼容问题的风险。 jQuery 的未来版本could与您正在使用的众多第三方脚本之一发生冲突,并导致您的页面无声地中断。

结论:

对使用 Google CDN 的合理批评。一些团队拥有出色的构建流程,具有自动脚本组合和缩小功能,以及针对其内容的快速全球 CDN。如果您属于这些团队之一,那么 Google 的 CDN 可能不是您的最佳选择。但从大多数“常见”网站来看,服务 jQuery 的最佳方式是使用具有完整版本标识符的 Google CDN.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google CDN 未对 jquery 进行 gzip 压缩 的相关文章

  • 左键单击 jQUEry 上下文菜单

    我在用Chris Domigan 的 jQuery 上下文菜单插件 http www trendskitchens co nz jquery contextmenu 应用上下文菜单 它是这样工作的 contacts tbody tr con
  • 如何使用 jquery 从 URL 获取域名?

    我有 eq 的域名 1 http www abc com search 2 http go abc com work 我从上面的 URL 中仅获取域名 输出如 1 http www abc com 2 http go abc com 我能怎
  • 禁用整个站点的 IE8 加速器

    是的 我知道有类似的问题 https stackoverflow com questions 499565 is it possible to disable ie8 accelerators on my website在 SO 上 但它已
  • 在 jQuery 中绑定元素及其子元素

    我想将事件绑定到元素及其子元素 做这个的最好方式是什么 element bind click function event doSomething element bind click function event doSomething
  • javascript/jquery 禁用点击提交按钮,防止重复提交

    所以我的提交按钮如下所示 a href img src images user create product png border 0 a 当我双击它时 显然会双重提交 问题是 我将信息保存在数据库中 因此那里会有重复的信息 我不想那样 这
  • 在多个数组中搜索字符串,然后设置 var - jQuery

    我正在寻找基于字符串存在于哪个数组中设置一个变量 例如 var primary red blue yellow var secondary orange purple green 然后检查 purple 并返回它在 secondary 数组
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • 无法从 JSON 请求获取数据,尽管我知道它已返回

    我试图获取从 getJSON 返回的数据 但我无法让它工作 我已经在 search twitter API 上尝试了相同的代码 效果很好 但它不适用于其他网站 我知道数据已返回 因为我在使用检查器时可以找到它 我通过检查器找到的值是 id
  • jQuery:如何仅根据表标题从表的列中选择值

    我有一个带有标题 ID 的表 我需要选择此标题下的所有字段 我无权访问源代码 并且该表中没有使用任何类 关于如何完成这件事有什么想法吗 要获取第一列 function var col td nth child 1
  • jquery 验证不会因复选框而被触发

    我有一个表单 我使用 jQuery 验证从前端进行验证 大多数验证都按照我的意愿进行 但是 对于复选框 验证不起作用 我的验证 jquery 中有以下规则和消息 submitDetails validate 1 validation rul
  • 第一次点击时的 event.preventDefault() 然后删除

    如果它有一个类子导航 我会禁用默认锚点 如下所示这把小提琴 http jsfiddle net aaronk85 5Quee 我只希望在第一次单击时禁用此功能 然后我希望恢复正常的锚点功能 做这个的最好方式是什么 我尝试了涉及以下代码的操作
  • jQuery 动画延迟

    如何使用 jQuery 延迟动画 我需要获得一个导航来扩大宽度 然后扩大高度 然后反转以获得反向动画 Code function nav li not logo nav li ul li hover function this animat
  • Apache Commons HttpClient 支持 GZIP 吗?

    Apache Commons HttpClient 库是否支持 Gzip 我们希望在 Apache 服务器上启用 gzip 压缩来加速客户端 服务器通信 我们有一个 php 页面 允许我们的 Android 应用程序与服务器同步文件 Apa
  • json_encode 创建格式错误的 JSON 数据?

    我有一个 codeigniter 应用程序将一些数据从数据库返回到视图 我正在尝试将其作为 json 数据发送回来 问题是返回的数据格式错误 它看起来像这样 2 5 Admin1 2 10 Admin2 当我在 jsonlint com 上
  • 如何计算单击的甜甜圈元素的中点与负 y 轴之间的角度

    Consider the following codesample donut chart using jquery flot http jsfiddle net c5zsg6y3 26 now as i have added the im
  • 垂直对齐多行文本(菜单元素)?

    我正在尝试垂直对齐 UL 内的文本 问题是某些列表项具有不止一行文本 因此无法使用行高 小提琴 http jsfiddle net jaAYT http jsfiddle net jaAYT 这是我想要达到的结果 http img402 i
  • 有没有办法在 jqgrid treeGrid url 请求中传回附加数据?

    i am 使用 jqgrid 树视图 http www trirand com jqgridwiki doku php id wiki 3atreegrid我正在传回 json 响应 效果很好 我想将一些有关请求的附加信息传递回 GUI 并
  • 使用 Jquery 传递隐藏字段值

    我有一个正常的hidden Input field我在哪里生成random string 我需要将其附加到我尝试将数据发布到另一个页面的 URL 中 我已经做到了这一点并且效果很好 url Upload html field1 newval
  • 使用jquery调用AS3外部接口

    我正在使用ExternalInterface 调用嵌入在html 页面中的Flash 应用程序 以下代码工作正常 我正在使用按钮进行测试 document ready function button click function var a
  • Jquery 以编程方式更改

    文本

    编辑 解决方案是将其添加到个人资料页面而不是性别页面 profile live pageinit function event p pTest text localStorage getItem gender 我在列表视图中有一个带有一些文

随机推荐