一、缓存作用:
对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存,可以使用nginx的expires设置。
二、Nginx配置:
在location或if段里来写,格式如下:
expires 30s/30m/2h/30d;(30秒/30分钟/2小时/30天)
设置完可以看到Http响应中多了Expires参数:Expires:Fri, 13 May 2016 06:48:00 GMT
注意:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效
另:304 也是一种很好的缓存手段
原理是:
1.服务器响应文件内容是,同时响应ETag标签(内容的签名:内容一变这个值则改变),和 last_modified_since 2个标签值
2.浏览器下次请求时,头信息发送这两个标签,服务器检测文件有没有发生变化,如无,直接头信息返回 etag,last_modified_since
3.浏览器知道内容无改变,于是直接调用本地缓存
对于变化周期较短的,如静态html、js、css,比较适于用这个方式
实例:
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
expires 30d;
}
网友评论