nginx缓存过期
1 原理
在默认下,请求过的内容会接受304,而从本地缓存调用。这是通过client向server发送请求,给出ETag,server确认ETag未变,则不返回内容,client调用本地缓存。
而expires设置,client没有向server发送请求,直接调用未过期的缓存资源。
对于一些静态资源,比如图片,服务器上很少更新,就可以设置在client上缓存起来,浏览器请求的时候,只要过期时间没到,就使用本地缓存,以减少服务器带宽压力。
如果设置了expires,在client的资源请求上,会有以下标明。
2 配置
针对一个server,图片设置过期30d,js|css是1h。
server { listen 80; server_name www.aishop.com aishop.com; root /data/aishop.com/; #charset koi8-r; access_log logs/aishop.com.log main; index index.html; location ~* ^/(js|css) { expires 1h; } location ~* \.(jpg|jgep|png|gif)$ { expires 30h; } }