Leo*_*opd 94 javascript hosting performance
从CDN而不是您自己的服务器提供javascript库具有巨大的优势.减少服务器的工作量,CDN可能会比服务器更接近用户,但最重要的是用户的浏览器很可能已经从该URL缓存了它.最后一个意味着每个人的总工作量减少,所以它显然是一个全面的胜利,更有可能我们(开发人员)更多地依靠CDN来服务我们的javascript.
但是流行的javascript CDN(谷歌,微软,其他?)只托管少量文件.对于其他人,我们可以选择自己托管它们,或者......使用源代码控制服务器作为一种CDN.这是不太可能Github上或类似的具有全球拥有优化后的文件的地理分布缓存.但是,如果这是常见的做法,那么用户的浏览器就有可能将其缓存.从我们的服务器到github的卸载工作的论点只有在Github愿意自愿这样做的情况下才有效.
那么,这是常见的做法吗?我们应该互相鼓励这样做吗?Github介意吗?他们是否有正式的政策声明?
Dav*_*ard 92
如果您关心性能或IE9兼容性,则不应对JavaScript文件执行此操作.
GitHub不提供具有远期过期标头的"原始"文件.如果没有跨站点缓存的可能性,您将失去使用公共CDN托管JavaScript的最大好处.事实上,在每个用户第一次请求文件后(假设您在服务器上正确配置缓存),使用GitHub作为CDN将比在自己的服务器上简单地托管文件更慢.
另一个问题是GitHub不提供带有与文件实际MIME类型匹配的内容类型标头的"原始"文件.在IE9(可能还有其他浏览器/代理/防火墙/等)中,默认情况下会阻止未使用正确内容类型提供的JavaScript文件.您可以在BlockUI演示页面上看到该操作,例如:

Chr*_*cob 17
链接到GitHub"原始"文件有一些问题,如Dave Ward的回答所述.
我建议您查看GitHub页面作为选项.
阅读本文:
GitHub作为CDN.使用GitHub页面缓存您的Javascripts,样式表和Web资产.
Mau*_*fer 11
这是最近在github的支持论坛上提出的,官方的答案是没关系.
话虽如此,我同意其他答案:github从来就不是真正意义上的CDN,而谷歌和微软都有特定的基础设施.
mel*_*yal 10
它适用于原型设计/个人物品,但对于生产我会看:
http://cachedcommons.org/ - 不再可用