[b]规则1,减少HTTP请求[/b]
这是最重要的原则,如果14条规则里只能选一条,那就是它了。可以通过多种方法减少HTTP请求,例如合并图片,合并JS和CSS等等。这一点薄荷网有很多改进的余地,首先应该把现在的JS合并了。
[b]规则2,使用内容发布网络[/b]
内容发布网络就是CDN了,但是CDN似乎挺贵的,目前还不适合薄荷网,不过可以考虑自己弄一个网通的静态资源服务器解决有中国特色的可恶的南北互通问题。
[b]规则3,添加Expires头[/b]
这个没什么好说的,是个建网站的人都应该知道。目前薄荷网图片,css,js,flash过期时间设置了3年,可以说是永久了,:) Expires有个麻烦的地方是内容更新问题。
[b]规则4,压缩组件[/b]
这个也没什么好说的,配置一下web server的压缩功能,减少服务器带宽,加快响应,立杆见影。
[b]规则5,将样式表放在顶部[/b]
这条有点新鲜,虽然平常都是这么做的,但是没有想过不这样做有什么麻烦。如果不这样,浏览器是不能做到边下载边显示,用户体验很糟糕。薄荷网现在有部分样式没放在顶部,回头检查测试一下看看。
[b]规则6,将脚本放在底部[/b]
这条是第一次听说,有些震惊。原因在于浏览器下载执行脚本的时候,会阻塞其他资源的下载,这样导致整体响应时间变长。薄荷网的脚本几乎都是放在顶部的,回头测试比较下看看。
[b]规则7,避免CSS表达式[/b]
CSS表达是简直像个Bug,可以弃用,寻求变通的解决方便,比如事件处理器等。
[b]规则8,使用外部的JavaScript和CSS[/b]
考虑到缓存和复用,大部分情况显然是外联更划算。
[b]规则9,减少DNS查找[/b]
DNS耗费的时间是相当可观的,因此同一页面的域名数量最好控制在2~4之间。
[b]规则10,精简JavaScript[/b]
精简JavaScript可以显著减少Js文件的大小,减少下载时间。
[b]规则11,避免重定向[/b]
get的重定向可以通过web server的url rewrite很好解决。
[b]规则12,移除重复脚本[/b]
重复的脚本既增加一次http请求,又要重复执行,当然坚决移除了。
[b]规则13,配置ETag[/b]
这个似乎是个不错的大幅加快响应的方法,值得再深入好好研究一番。
[b]规则14,使Ajax可缓存[/b]
就是使用之前的规则应用于Ajax请求,:)
[img]http://dl.iteye.com/upload/attachment/406727/04744e1e-3e92-3b6e-b8d0-e10e8b700c56.png[/img]
这是最重要的原则,如果14条规则里只能选一条,那就是它了。可以通过多种方法减少HTTP请求,例如合并图片,合并JS和CSS等等。这一点薄荷网有很多改进的余地,首先应该把现在的JS合并了。
[b]规则2,使用内容发布网络[/b]
内容发布网络就是CDN了,但是CDN似乎挺贵的,目前还不适合薄荷网,不过可以考虑自己弄一个网通的静态资源服务器解决有中国特色的可恶的南北互通问题。
[b]规则3,添加Expires头[/b]
这个没什么好说的,是个建网站的人都应该知道。目前薄荷网图片,css,js,flash过期时间设置了3年,可以说是永久了,:) Expires有个麻烦的地方是内容更新问题。
[b]规则4,压缩组件[/b]
这个也没什么好说的,配置一下web server的压缩功能,减少服务器带宽,加快响应,立杆见影。
[b]规则5,将样式表放在顶部[/b]
这条有点新鲜,虽然平常都是这么做的,但是没有想过不这样做有什么麻烦。如果不这样,浏览器是不能做到边下载边显示,用户体验很糟糕。薄荷网现在有部分样式没放在顶部,回头检查测试一下看看。
[b]规则6,将脚本放在底部[/b]
这条是第一次听说,有些震惊。原因在于浏览器下载执行脚本的时候,会阻塞其他资源的下载,这样导致整体响应时间变长。薄荷网的脚本几乎都是放在顶部的,回头测试比较下看看。
[b]规则7,避免CSS表达式[/b]
CSS表达是简直像个Bug,可以弃用,寻求变通的解决方便,比如事件处理器等。
[b]规则8,使用外部的JavaScript和CSS[/b]
考虑到缓存和复用,大部分情况显然是外联更划算。
[b]规则9,减少DNS查找[/b]
DNS耗费的时间是相当可观的,因此同一页面的域名数量最好控制在2~4之间。
[b]规则10,精简JavaScript[/b]
精简JavaScript可以显著减少Js文件的大小,减少下载时间。
[b]规则11,避免重定向[/b]
get的重定向可以通过web server的url rewrite很好解决。
[b]规则12,移除重复脚本[/b]
重复的脚本既增加一次http请求,又要重复执行,当然坚决移除了。
[b]规则13,配置ETag[/b]
这个似乎是个不错的大幅加快响应的方法,值得再深入好好研究一番。
[b]规则14,使Ajax可缓存[/b]
就是使用之前的规则应用于Ajax请求,:)
[img]http://dl.iteye.com/upload/attachment/406727/04744e1e-3e92-3b6e-b8d0-e10e8b700c56.png[/img]