首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >缓存控制标头重复;是否有效?(Nginx)

缓存控制标头重复;是否有效?(Nginx)
EN

Stack Overflow用户
提问于 2011-01-22 02:25:56
回答 1查看 24.7K关注 0票数 37

在我的Nginx中有一个资源,它是这样配置的:

代码语言:javascript
复制
location ~ foo\.js$ {
    add_header Cache-Control public;
    expires 1d;
}

如果我用Firebug打开它,并查看标题,它会显示以下内容:

代码语言:javascript
复制
Cache-Control   max-age=86400, public

该站点使用的是HTTPS,所以我想确保它是正确的,因为显然浏览器不会缓存它,除非它的max-age>0和publicSee this

但是当我使用curl -Ik https://...时,我的Nginx会发生什么,它会说:

代码语言:javascript
复制
...
Expires: Sat, 22 Jan 2011 18:23:36 GMT
Cache-Control: max-age=86400
Cache-Control: public
...

它重复了Cache-Control标头!显然,Firebug并不介意。但这是对的吗?

有没有一种更好的方法将ExpiresCache-Control (使用public)设置为一行,只有两行?

EN

回答 1

Stack Overflow用户

发布于 2011-06-21 02:02:14

我在不同的配置上也遇到了同样的问题。这就是目前对我有效的方法。

取自Module ngx_http_headers_module的示例

代码语言:javascript
复制
map $sent_http_content_type $expires {
    default                    off;
    text/html                  epoch;
    text/css                   max;
    application/javascript     max;
    application/octet-stream   max;
    ~image/                    max;
}

server {
        expires $expires;
        ....
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4762377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档