网站设置Js、css等文件的过期时间,是提升网站速度的基本技巧方法之一,之前写过如何在IIS设置网页内容过期时间一文,满足了部分网友的需要,最近有网友在群里提到,他们使用的是Nginx服务器,但还不知如何设置Js、css文件过期时间,故写下此教程,以便查看。
Nginx如何设置Js、css等文件的过期时间
首先打开配置文件/etc/nginx/nginx.conf,然后找到下面这句话:
location~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
expires 30d;
}
设置expires这个参数即可,30d表示30天,注意后面有个分号“;”。
如果过期时间为小时,则用“h”,如“expires 1h;”表示文件缓存在1小时后过期。看看下面的范例:
#图片缓存30天
location ~.*\.(jpg|png|jpeg)$
{
expires 30d;
}
#js css缓存一小时
location ~.*\.(js|css)?$
{
expires 1h;
}
语法解释
nginx作为web服务器,有时需要让浏览器缓存(Browser Caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。
nginx通过expires指令来设置浏览器的Header
语法: expires [time|epoch|max|off]
默认值: expires off
作用域: http, server, location
使用本指令可以控制HTTP应答中的“Expires”和“Cache-Control”的头标,(起到控制页面缓存的作用)。
可以在time值中使用正数或负数。“Expires”头标的值将通过当前系统时间加上您设定的 time 值来获得。
epoch 指定“Expires”的值为 1 January, 1970, 00:00:01 GMT。
max 指定“Expires”的值为 31 December 2037 23:59:59 GMT,“Cache-Control”的值为10年。
-1 指定“Expires”的值为服务器当前时间;-1s,表示永远过期,即不缓存文件。
如何检测网页过期设置是否生效?
打开webkaka的网站速度诊断工具(http://pagespeed.webkaka.com/),输入你的网页地址,检测后,立即可以看到设置是否生效了。
检测网页缓存是否生效
上图看到,被检测网页的js、css文件过期时间为1天。
☉百度外链分析:51la统计代码noscript标签出现外链 (2013-12-18 21:11:30)
☉百度外链分析:纯文本链接也算是外链【有图为证】 (2013-11-28 14:26:48)
☉标头“Vary:Accept-Encoding”指定方法及其重要性分析 (2013-11-22 22:8:47)
☉4种方法固定侧栏内容和广告位 提高网站PV和点击率 (2013-11-21 9:53:5)
☉网页速度优化技巧:URL大小写不能忽视 (2013-10-25 15:51:33)
☉让百度快速删除网站死链快照的有效方法 (2013-10-24 13:40:41)
☉友链被加nofollow标签 理由是我站友链不传递权重? (2013-9-11 17:48:6)
☉快速查找外链资源的几个方法 (2013-3-7 16:59:57)
☉网站1个月不更新 关键词排名立即下跌 (2013-2-16 17:53:8)
☉提交百度Sitemap对SEO作用不大 (2012-11-28 21:31:15)
☉交友情链接百度权重BR比Google PR更重要 (2012-11-12 5:18:21)
☉百度空间升级后友情链接不见了?教你如何添加 (2012-11-8 21:16:43)
☉全站301重定向 避免带与不带www域名权重分散的几种方法 (2012-11-5 16:38:51)
☉网站优化:如何模拟不同带宽测试网页打开速度 (2012-10-29 18:49:22)
☉SEO之给图片属性加上alt描述 (2012-9-26 5:0:15)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。