nginx 静态资源缓存 常用配置示例:

1
2
3
location ~.*\.(js|css|html|png|jpg)$ {
expires 3d;
}

下面是 nginx 静态资源缓存 说明:

  • expires 3d; // 表示缓存 3 天

  • expires 3h; // 表示缓存 3 小时

  • expires max; // 表示缓存 10 年

  • expires -1; // 表示永远过期。

如果设置为 -1 在 js、css 等静态文件在没有修改的情况下返回的是 http 304.

如果修改返回 http 200

http 304:自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。

http 200:服务器已成功处理了请求,这表示服务器提供了请求的内容。

如果不想让代理或浏览器缓存,加 no-cache 参数

1
2
3
location ~.*\.(js|css|html|png|jpg)$ {
add_header Cache-Control no-cache;
}

这样浏览器 F5 刷新时,nginx 静态资源缓存 设置返回的状态码就是 http 200,而不是 http 304

本文地址 https://shaoshilei.com/2018-05/nginx-static-expire.html