Nginx 设置 Cache-Control 为 public 比较烦

鉴客 发布于 2011/08/24 10:18
阅读 6K+
收藏 1

Nginx 可以通过 expires 来设置缓存,例如 expires 30d; 的效果如下:

Expires: Fri, 23 Sep 2011 02:09:34 GMT
Cache-Control: max-age=2592000

但是很多网站优化建议中要求 Cache-Control 增加一个 public ,例如

Cache-Control: public, max-age=2592000

为此我们可以使用 add_header 来设置

add_header Cache-Control "public, max-age=2592000";

但是该指令跟 expires 有重叠,就会生成两个 Cache-Control 的 head,例如

Expires: Fri, 23 Sep 2011 02:09:34 GMT
Cache-Control: max-age=2592000
Cache-Control: public, max-age=2592000

尽管说 HTTP 协议允许两个 Cache-Control 存在,但看起来总是不爽。

也可以干掉 expires 指令,用 add_header 来设置 Expires 头,但这样的话,因为失效时间是一个变量,设置起来又麻烦。

有什么更好的方法吗?

加载中
0
倪美俭
倪美俭

我也碰到这个问题了,Cache-Control:max-age=2592000, public, max-age=2592000,后来你怎样解决的?

返回顶部
顶部