浏览器缓存网站静态文件

当用户第一次访问你的网站时,让用户的浏览器缓存网站的静态文件,如图片\CSS\JS等,然后接访问接下来的页面就会直接调用浏览器的缓存而不是重新从服务器下载,这样既节省带宽和流量又加快了用户打开网页的速度,一石三鸟,用不用你们自己把握。

我们可以用以下两个工具查看:
1. Yahoo开发的浏览器插件YSlow (https://addons.mozilla.org/zh-CN/firefox/addon/yslow/ ,Add Expires headers)
2. Google的Page Speed Online (https://developers.google.com/pagespeed/ ,使用浏览器缓存)

如果的服务器用的是Apache并且支持mod_expires模块,那么只要在网站更目录的.htaccess文件中添加以下代码即可,

//css|htm|html|js|flv|gif|jpg|jpeg|png|ico|swf格式的文件浏览器缓存1个月
<ifmodule mod_expires.c>
  <filesmatch  ?\.(css|htm|html|js|flv|gif|jpg|jpeg|png|ico|swf)$?>
       ExpiresActive on
       ExpiresDefault "access plus 1 months"
   </filesmatch>
</ifmodule>

但如果你的服务器不支持mod_expires模块,没关系,我的服务器也不支持,为一个文件过期模块不值得装,我们可以通过常用的mod_header模块实现同样的功能,同样方法添加到.htaccess文件中:

<ifmodule mod_headers.c>
//ico|pdf|flv|jpg|jpeg|png|gif|swf格式的文件缓存一年
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
//js|css格式的文件缓存一个月
<FilesMatch "\.(js|css)$">
Header set Cache-Control "max-age=2629743, public"
</FilesMatch>
//html|htm|txt格式的文件缓存一天
<FilesMatch "\.(html|htm|txt)$">
Header set Cache-Control "max-age=86400, public"
</FilesMatch>
</ifmodule>

posted on 2012-12-21 11:23  百年孤寂dwn  阅读(1286)  评论(0编辑  收藏  举报

导航