Github应该用作JavaScript库的CDN吗?

从CDN而不是您自己的服务器提供JavaScript库具有巨大的优势。为您的服务器减少工作,CDN的可能性有一个更接近用户比服务器,但最重要的是,您的用户的浏览器已经有缓存从该URL的副本。最后一个意味着每个人的总工作量减少,所以它显然是一个赢家,更可能的是我们(开发人员)更多地依赖CDN来服务我们的javascript。

但流行的JavaScript CDN(谷歌,微软,其他?)只托管少量的文件。对于其他人,我们可以选择自己托管它们,或者…使用源控制服务器作为一种CDN。这是不可能的Github或类似的地理分布的文件缓存优化为全球服务。但是如果它是常见的做法,那么用户的浏览器会有一个体面的机会。卸载工作从我们的服务器到github的论点只有有效,如果Github愿意自愿这样做。

那么,这是常见的做法吗?我们应该鼓励对方这样做吗? Github介意吗?他们有官方政策吗?

如果你关心性能或IE9兼容性,你不应该这样做的JavaScript文件。

GitHub不提供其“原始”文件与远期expires标题。没有跨站点缓存的可能性,您失去使用公共CDN来托管JavaScript的最大好处。事实上,使用GitHub作为CDN将比在每个用户第一次请求文件后(假设您在服务器上正确配置缓存)在自己的服务器上托管文件更慢。

另一个问题是GitHub不提供具有匹配文件实际MIME类型的内容类型头的“原始”文件。在IE9(以及其他浏览器/代理/防火墙等)中,默认情况下会阻止没有使用正确内容类型的JavaScript文件。您可以在BlockUI演示页面上看到,例如:

http://stackoverflow.com/questions/5502540/should-github-be-used-as-a-cdn-for-javascript-libraries

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Github应该用作JavaScript库的CDN吗?