是否有托管 JSON2 的公开可用的 CDN?

Posted

技术标签:

【中文标题】是否有托管 JSON2 的公开可用的 CDN?【英文标题】:Is there a publicly available CDN that hosts JSON2? 【发布时间】:2011-02-28 23:45:51 【问题描述】:

众所周知,Google 和 Microsoft 在其 CDN(内容分发网络)上托管了几个常见的 javascript 库。不幸的是,似乎两者都没有主持JSON2.js。

我知道我可以将 JSON2.js 的副本上传到我的服务器并自己提供服务,但我想利用 CDN 提供的许多优势。

那么考虑到这一点,是否有任何托管 JSON2 的公开可用的 CDN?如果没有,知道为什么吗?是否有某种版权原因?

【问题讨论】:

【参考方案1】:

结帐cdnjs.com

http://cdnjs.com/libraries/json2/

可能也值得调查Json3

http://cdnjs.com/libraries/json3/

更新:部分信息已过时,已更改为更好的链接。

【讨论】:

@Xavi:不在 CDNJS 上。你可以在 cdnjs 网站上推荐它 cdnjs 看起来很酷!这些家伙对反馈也非常敏感。感谢您指出这一点。 webmat:不用担心。这是个好主意。我已经使用了一段时间了。也没有看到任何停机时间。 来自 cdnjs.com 的 Thomas 在这里有两个快速的原因,为什么没有缩小版本。 1) 使用我们选择的缩小方法,脚本可能无法按作者预期的方式运行。 2) 作为一项安全措施,我们确保所有文件校验和与原始作者托管的文件匹配,因此社区提交的更新不能包含格式错误的缩小代码。所以现在让我们托管 Crockfords 托管的未缩小版本; github.com/douglascrockford/JSON-js/raw/master/json2.jslol 你不能在 cmets 中加入换行符吗? 仅供参考:我在最近的项目中提供了来自 cdnjs.com 的 json2。我从这个 *** 页面获得了它的链接。那里的一些 IE 不喜欢这样。我无法弄清楚为什么这些都是从 7 到 9 的不同版本。一些 IE 以 KOI-7 格式解释 json2。结果,用户收到 JavaScript 错误:“未定义 JSON”。我尝试将脚本标签的@charset 属性设置为UTF-8,但并没有解决问题。我的解决方法是将 json2 与我的其他 js 文件一起提供。 (压缩和缩小)。如果您有任何问题,请随时与我联系。【参考方案2】:

json2.js 可以在Yandex CDN servers找到。

完整版:http://yandex.st/json2/2011-10-19/json2.js

缩小:http://yandex.st/json2/2011-10-19/json2.min.js

HTTPS 也可以。

【讨论】:

【参考方案3】:

我认为现在期待大型 CDN 开始这样做可能还为时过早。当有足够多的站点使用库时,好处就变得很明显:更高的可用性、更频繁的使用、减少的客户端请求、提高最终用户的性能。如果只有少数站点在使用它,那么客户端在其缓存中拥有副本的机会已经很低,并且所有性能提升都将丢失。所以剩下的就是微软和谷歌抵消你的带宽费用,这不是他们的意图。因此,解决方案是让更多的开发人员使用该库。

加上图书馆是如此之小。使用保守的缩小,代码仍然只有 3.5KB。相比之下,jQuery 为 24KB,ext-core 为 29KB。我个人建议将该库折叠到您自己网站的基础 JS 中,并在那里提高性能。至少在得到更广泛的接受之前。

另外,有趣的是,我希望 JSON 库也托管在 Yahoo 上,但我找不到它。我的意思是克罗克福德在那里工作。

【讨论】:

这些都是公平的。 JSON 对象正在成为许多浏览器的标准,因此对 JSON2.js 的需求正在下降。图书馆也很小!只是我已经养成了创建小型独立 JS 应用程序的习惯,我可以快速上传或通过电子邮件发送给人们。每时每刻,我最终都会使用JSON 对象。在这些情况下,我的 JS 应用程序要么无法在 IE6/7 中运行,要么不再是独立的。 =(【参考方案4】:

来自 cdnjs.com 的 Thomas 在这里有两个快速的原因说明为什么没有缩小版本。

1) 使用我们选择的缩小方法,脚本可能无法按照作者预期的方式运行。 2) 作为一项安全措施,我们确保所有文件校验和与原始作者托管的文件匹配,因此社区提交的更新不能包含格式错误的缩小代码。

所以现在让我们托管 Crockfords 托管的未缩小版本; https://github.com/douglascrockford/JSON-js/raw/master/json2.js

【讨论】:

【参考方案5】:

现在有。

Douglas Crockford 最近将 JSON2 放到了 github 上,这个 url 将始终链接到最新版本。

编辑: 使用这种方法不是一个好主意,请参阅下面的评论。

【讨论】:

对于不安全地提供内容的页面,https 应该是 http 吗?即不是“混合安全和不安全的内容”? 转念一想,我觉得用github做cdn不是个好主意,看这个问题的答案:***.com/questions/5502540/… @ShaggyFrog 一个技巧:您可以删除 http:https:,脚本将使用该站点的正确方法加载://github.com/douglascrockford/JSON-js/ raw/master/json2.js @DannyLane,您应该使用有关不将 GitHub 用作 JS 的 CDN 的信息来编辑您的答案。 不知道为什么这个答案最近被否决了,我在大约 3 年前更正说不要使用这种方法。

以上是关于是否有托管 JSON2 的公开可用的 CDN?的主要内容,如果未能解决你的问题,请参考以下文章

WCF 服务:可用于测试的公开可用服务 [关闭]

公开可用的垃圾邮件过滤器训练集[关闭]

列出 RestEasy 服务的所有公开/可用端点?

国内都有哪些靠谱的 Javascript 库 CDN可用

监控CDN的可用性

Azure Pipelines 的所有可用托管代理池都有哪些?