我只是想知道从谁有很好的记录,如果我有10个js/css外部文件追加在我的网站做得更好,将它们压缩成只有1个文件,或者是好有10,20外部源链接无论如何在页面速度的观点?
我也问这个,因为使用firebug google页面速度和yahoo Yslow页面速度工具,他们在这方面发生冲突,google说分开文件,yahoo说压缩在一个:| ..通常我会相信bigG,但谁知道呢:|
可以进行的关键性能增强之一是减少HTTP请求的数量。每个外部资源意味着一个额外的请求,因此将它们分组在一起将对页面性能产生积极的影响。
如果你想了解更多关于前端性能的知识,请查看Steve Souders的书籍。您可以在Yahoo!开发者网络(他在雅虎!当他写第一本书的时候)。
首先,压缩文件(几乎)总是一个好主意。使用特定的JS和/或CSS压缩器,并在http级别使用GZIP压缩。
决定是否合并文件并不容易;你需要兼顾不同的目标:
- 最小化加载的总字节数;这包括确保文件可以从缓存中检索确保加载的文件在尽可能少的请求中到达。
组合文件优化了#2,但可能以#1为代价。如果不同的页面使用不同的CSS/JS,那么每个页面可能得到不同的组合文件(组件文件的排列),使得缓存不可能。
一个快速而肮脏的解决方案是将所有通用JavaScript和所有页面上使用的所有CSS包含在两个单一的压缩文件中(一个JS,一个CSS)。如果你的访问者在你的网站上停留更长的时间,他们会有最好的体验,因为所有的CSS/JS只需要加载一次,这一次是尽可能快的。
如果您在一台主机上将您的脚本组合成一个脚本,而这台主机很慢-您的页面将很慢。如果您将脚本分解为托管在CDN上的几个脚本,这些脚本具有不同的子域,则浏览器将并行下载更多脚本。请阅读有关提高下载次数的网站。它的结论是"提高并行下载可以实现高达40%的网页延迟改善。您可以使用两个或三个主机名来提供来自同一服务器的对象,以欺骗浏览器多线程处理更多对象。"
确保你已经安装了Google Page Speed, YSlow和Firebug插件,然后使用它们。