Nginx缓存控制

我用ngnix提供我的静态内容.

location /static {
      alias /opt/static/blog/;
      access_log off;
      etags on;
      etag_hash on;
      etag_hash_method md5;
      expires     1d;
      add_header Pragma "public";
      add_header Cache-Control  "public,must-revalidate,proxy-revalidate";
}

结果标头如下所示:

Cache-Control:public,proxy-revalidate
Cache-Control:max-age=86400
Connection:close
content-encoding:gzip
Content-Type:application/x-javascript; charset=utf-8
Date:Tue,11 Sep 2012 08:39:05 GMT
Etag:e2266fb151337fc1996218fafcf3bcee
Expires:Wed,12 Sep 2012 08:39:05 GMT
Last-Modified:Tue,11 Sep 2012 06:22:41 GMT
Pragma:public
Server:Nginx/1.2.2
transfer-encoding:chunked
vary:Accept-Encoding

为什么Nginx发送2个Cache-Control条目,这可能是客户端的问题?

最佳答案
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

当且仅当该头字段的整个字段值被定义为以逗号分隔的列表[即,#(值)]时,具有相同字段名的多个消息头字段可以存在于消息中.必须可以将多个头字段组合成一个“字段名:字段 – 值”对,而不改变消息的语义,方法是将每个后续字段值附加到第一个字段值,每个字段值用逗号分隔.因此,接收具有相同字段名称的头字段的顺序对于组合字段值的解释是重要的,因此代理不得在转发消息时改变这些字段值的顺序.

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...