讲解Nginx服务器中设置本地浏览器缓存的简单方法
浏览器缓存(BrowserCaching)是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。
nginx可以通过expires指令来设置浏览器的Header
语法:expires[time|epoch|max|off]
默认值:expiresoff
作用域:http,server,location
使用本指令可以控制HTTP应答中的“Expires”和“Cache-Control”的头标,(起到控制页面缓存的作用)。
可以在time值中使用正数或负数。“Expires”头标的值将通过当前系统时间加上您设定的time值来获得。
epoch指定“Expires”的值为1January,1970,00:00:01GMT。
max指定“Expires”的值为31December203723:59:59GMT,“Cache-Control”的值为10年。
-1指定“Expires”的值为服务器当前时间-1s,即永远过期
例子:
图片缓存30天
location~.*\.(jpg|png|jpeg)$
{
expires30d;
}
jscss缓存一小时
location~.*\.(js|css)?$
{
expires1h;
}
浏览器缓存的头信息,在nginx里也是可以设置的,如下。
#配置在server节点下
#将favicon.ico放到nginx安装目录的html目录下
location=/favicon.ico{
roothtml;
indexindex.htmlindex.htm;
expires30d;#会同时设置Expires和Cache-Control:max-age
add_headerPragmaPragma;
}
设置完以后,请求通过浏览器查看。
增加了
Cache-Control:max-age=2592000 Expires:Sun,08Nov201501:07:48GMT
缓存生效。
注意事项
调试的时候要注意几个问题:
四类用户行为影响缓存:F5刷新,F5强制刷新,点击刷新,地址栏回车。会让Expires失效。