expires 指令可以控制 HTTP 应答中的“Expires ”和“ Cache-Control ”的头标(起到控制页面缓存的作用)
语法:expires [time|epoch|max|pff]
语法:expires [time|epoch|max|pff]
默认值:off
expires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息,启动控制页面缓存的作用
time:可以使用正数或负数。“Expires”头标的值将通过当前系统时间加上设定time值来设定。
time值还控制"Cache-Control"的值:
负数表示no-cache
正数或零表示max-age=time
epoch:指定“Expires”的值为 1January,1970,00:00:01 GMT
max:指定“Expires”的值为31December2037 23:59:59GMT,"Cache-Control"的值为10年。
-1:指定“Expires”的值为当前服务器时间-1s,即永远过期。
off:不修改“Expires”和"Cache-Control"的值
expires使用了特定的时间,并且要求服务器和客户端的是中严格同步。
而 Cache-Control是用max-age指令指定组件被缓存多久。
对于不支持http1.1的浏览器,还是需要 expires来控制。所以最好能指定两个响应头。但HTTP规范规定max-age指令将重写 expires头。
如果不想让代理或浏览器缓存,加no-cache参数或private参数:
# expires 1d;
add_header Cache-Control no-cache;
add_header Cache-Control private;
这样浏览器F5刷新时,返回的依然是200,而不是304.
记录一个nginx控制缓存的例子:
expires 1d;
add_header Cache-Control no-cache;
add_header Cache-Control private;
if ( !-e $request_filename) {
rewrite ^(.*) http://test.zhaopin.com/index.html break;
#
add_headerCache-Control no-cache;
#
add_headerCache-Control private;
expires使用了特定的时间,并且要求服务器和客户端的是中严格同步。
而 Cache-Control是用max-age指令指定组件被缓存多久。
对于不支持http1.1的浏览器,还是需要 expires来控制。所以最好能指定两个响应头。但HTTP规范规定max-age指令将重写 expires头。
如果不想让代理或浏览器缓存,加no-cache参数或private参数:
# expires 1d;
add_header Cache-Control no-cache;
add_header Cache-Control private;
这样浏览器F5刷新时,返回的依然是200,而不是304.
记录一个nginx控制缓存的例子:
http://blog.sina.com.cn/s/blog_5dc960cd0100hxr7.html