积极的缓存与内联网站点的Javascript文件的组合

时间:2011-11-17 15:27:03

标签: javascript performance caching intranet

我正致力于改善公司内部网页的页面性能。我们期待(动态)组合我们的javascript文件以及将它们缓存超过30天。该页面将在登录时为所有人启动。

我的一位同事问我们是否值得花时间合并JS文件,如果我们已经将它们缓存了一个月。他对两者都犹豫不决,因为组合工具是服务器端,不能在我们的桌面上运行,需要一些有点麻烦的解决方法。

我一直在做一些研究,我见过的大部分性能建议都是针对外部网站的。由于我们处于一个封闭的系统中,因此一旦每个人的缓存都准备就绪,我们就不会从组合文件中获得太多好处。合并这些文件会给我们带来什么样的积极缓存呢?

如果有任何不同,我们会使用IE8。

2 个答案:

答案 0 :(得分:2)

拥有多个JavaScript文件的最显着影响是呈现页面所需的时间。每个脚本标记都是单独处理的,并为整个渲染过程增加了时间。

可以在这里找到一个很好的答案@ multiple versus single script tags

如果我们正在谈论大量脚本,那么您可能会看到渲染时间有所改善;如果它只是两个或三个文件,那么一旦文件被缓存,它可能不会带来明显的差异。

我建议在两种情况下测试页面渲染时间,看看你在案例中看到了多少改进,并根据这些信息做出决定。

作为一个有用的例子,这里有一些来自Xpedite的统计数据(我创建的运行时缩小工具);注意组合与未组合脚本从加载到准备的时间差异。

答案 1 :(得分:2)

  1. 将所有JavaScript文件合并为一个大文件(从而最大限度地减少对服务器发出的请求数),并将其名称设置为“application_234234.js”;数字表示您最后一次更改文件,并将帮助浏览器知道它是一个新文件(因此更改时不会缓存)。
  2. 添加Expires或Cache-Control标头(将其设置为将来)。由于每次修改文件名都会更改,因此您不必担心。
  3. 最后也就是说,压缩和压缩JavaScript文件。
  4. 这些是一些重要的建议,但请详细了解以下方面的最佳做法:http://developer.yahoo.com/performance/rules.html