简明现代魔法 -> web设计理念 -> 网站访问速度的前端优化

网站访问速度的前端优化

2011-02-03

1. 把你的 .js 库文件地址替换成 Google CDN的地址

随着 jquery 和 mootools 等js库的使用需要加载的.js文件越来越多也越来越大,通常传统的网站是上传到网站本身的目录。但对于一个接近70多KB的jquery.js体积确实不利于网站响应速度的提升,此时就应该使用Google API。

把你的 http://www.cnblogs.com/jquery.x.x.js 替换为 http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js的意义在于当一个用户访问过使用 google api 的网站之后,再次访问其他调用了该api地址的网站就不需要再次加载该文件了。从而达到提速的目的。

不单是jquery库,其他诸如mootools yui 也可以使用这种方式。推荐一个网站 ( http://scriptsrc.net/ ) 这个网站收集Google 提供的 js API路径。直接点击复制就可以获取到最新版的文件路径。

2. 精简和优化你的 js 和 CSS

虽然有了缓存和gzip保驾护航,但是对于 js 和 css 的优化却也是必须的。我们写的javascript脚本和 css 代码都是经过缩进和换行的,适合人类阅读,但是浏览器执行这些脚本不并需要这些无意义的空格和换行。所以我们应该去除这一些空格换行,甚至缩短 javascript 和 css 里面的变量。诸如此类的优化工具有 YUI Compressor 和 Closure Compiler 。这两个工具都是基于 java 的,使用应该安装jdk并且设置 JAVA_HOME 。(对于非程序员的网站管理员而言确实有点困难)

推荐一个地址 ( http://sweet.fengyin.name/?hl=zh-CN ) 。此工具可以不用在本地安装jdk,直接上传 js 和 css 文件进行压缩,可选择是采用 YUI Compressor 或 Closure Compiler 。

通过 YUI Compressor 或 Closure Compiler 和 压缩的之后的代码如:

function hello(name) {
  alert('hello 简明现代' + name);
}
hello('魔法');

它会变成:

function hello(a){alert("hello 简明现代, "+a)}hello("魔法")

把你的缩进和空行去掉的同时也缩短里面的变量名称,这种优化方式是不可逆的,所以使用这两种压缩之前请备份一份源文件方便以后的修改。

3. GZIP 压缩你的 JS 和 CSS 文件

压缩js和css可以通过服务器动态脚本进行也可以更简单的使用apache服务器可以在网站根目录 .htaccess 中加入以下代码:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json
Header append Vary Accept-Encoding
</IfModule>

这段代码的意思是调用服务器的压缩模块对以上文件输出之前进行GZIP压缩,gzip的压缩之后所有文件都应该能减少30%以上的体积。特别是对于大量使用js的博客有了gzip保驾护航之后速度能提高不少。

4. 缓存你的 js 和 CSS 文件

在网站根目录 .htaccess 中加入以下代码:

<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>

这段代码的意思是对 jpg|gif|png|css|js 发送 header 缓存头,进行一年的缓存、在浏览器不使用 ctrl+F5 强制刷新时,会一直缓存到时间时间结束,唯一遗憾的是如果你更改了js或者css文件必须把以前的路径或者文件名更改,可以这样 base.js?ver=(x) 这种方式下次浏览器就会自动读取并缓存。

5. 使用css sprites合并图片

一个网站经常使用小图标和小图片进行美化,但是很遗憾这些小图片占用了大量的HTTP请求,因此可以采用sprites的方式把所有的图片合并成一张图片 ,http://csssprites.com/ 可以通过这个网址在线合并,也可以在ps中合并。

6. 优化你网站图片(图片)

大量使用的图片和图标虽然可以给网站带来美轮美奂的效果,图文混编更是一种非常绚丽的博文展现方法。可图片的体积确实不是很给力,jpg是一种有损压缩格式,而png虽然是无损的缺憾是体积颇大。为了减少图片体积达到最快的下载速度,每一张图片上传前应该优化一下体积.专注于前端的 yslow 有一个工具叫 smushit ,http://www.smushit.com/ysmush.it/

此工具是一个无损压缩图片的工具,可以把你的图片在保持原质量不变的前提下优化体积。而这种优化体积通常在 10% 以上.意味着 一张30KB的图片优化后只有 27KB 或者更少……

总结

以上6种优化方法都是前端的,前端优化的意义在于减少http请求,减少网站前端程序组成的体积。其实在后端优化也必不可少减少更多的数据库查询,通过诸如memcache内存缓存进行常调用用的数据缓存才能获得最快的速度。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们