Nginx缓存控制

前端之家收集整理的这篇文章主要介绍了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相关文章