这是一个不做功课的案例。:-)
除了动态加载优势之外,当我可以从我的服务器加载一个包含19kb jQuery zip文件+附加文件的单个文件时,从Google服务器包含一个JavaScript库(在我的情况下是jQuery)是否有意义?我编写的JavaScript代码 - 全部使用JS压缩器压缩并提供HTTP放弃。
使用Google服务器,我将进行2次(并行)HTTP往返。一个用于获取jquery文件,另一个用于获取站点JavaScript代码。一个19kb,另一个说20-25kb。 在正常情况下,我的网站将下载30-35kb。
答案 0 :(得分:10)
考虑从google CDN下载的jQuery脚本可能已经缓存在访问者的浏览器上,因为它具有一致的标头和缓存控制,无论从哪里下载。因此,平均而言,大多数用户只需下载特定于站点的JavaScript脚本。此外,CDN通常比单个服务器具有更快的响应时间,因为它们从离您所在位置最近的服务器做出响应。
对于您的问题,没有任何简洁和干燥的答案,因为这两种方法都能在现代连接上提供良好的性能。您应该在胁迫下对系统进行分析,看看哪种解决方案能够提供最佳结果(如果需要进行此类优化)。
答案 1 :(得分:1)
您确定要并行下载脚本吗? This example from Cuzillion似乎在说只有IE8可以做到这一点。
另外值得一提的是,您的网页浏览量中有多少是第一次访问者以及之前有多少访问过该网站,以帮助您确定缓存会影响下载时间。如果您有大量的首次访问者,可能值得倾斜,以便尽快获得第一次体验。
答案 2 :(得分:1)
httpwatch对来自谷歌的js文件进行的基准测试。
http://blog.httpwatch.com/2008/11/27/google-adds-https-support-to-the-ajax-libraries-api/
答案 3 :(得分:0)
这是一个真正的问题吗?只需确保HTTP标头中的Cache-Control已正确配置,最终用户的客户端只会将其拉出一次。这是一个绝对微不足道的数据。
答案 4 :(得分:0)
在我看来,使用着名的jQuery CDN(例如谷歌)并没有任何明显的缺点,并且有一些潜在的好处,所以我个人的偏好是采取CDN方法。如果不出意外的话,那就是我不必担心和维护源文件的一部分。
我看到使用CDN与单个胖JavaScript存档有几个优点:
何时关注HTML网页资源的下载时间:
P.S。 - 亚伦·霍普金斯(Aaron Hopkins)有一篇关于optimizing page load time我见过的最好的文章。有点过时了,但仍然非常相关。
P.S.S。 - 你可能想看看Zepto,一种轻量级(24K vs 100K),api兼容的替代jQuery。