浏览器缓存是为了加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。缓存的方式节约了网络的资源,提高了网络的效率。
浏览器缓存可以通过expires指令输出Header头来实现,expires指令的语法如下:
语法:expires [time|epoch|max|off]
默认值:expires off
作用域:http,server,location
用途:使用本指令可以控制HTTP应答中的“Expires”和“Cache-Control”的Header头信息(起到控制页面缓存的作用)
可以在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,即永远过期。
“Cache-Control”头标的值由您指定的时间来决定。
负数:Cache-Control: no-cache。
正数或零:Cache-Control:max-age=#,# 为您指定时间的秒数。
“off”表示不修改“Expires”和“Cache-Control”的值。
假设一个HTML页面中会引用一些JavaScript文件、图片文件,而这些格式的文件很少会被修改,则可以通过expires设置浏览器缓存。
例:对常见格式的图片、Flash文件在浏览器本地缓存30天,对js、css文件在浏览器本地缓存1小时,如下所示
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{ expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}