Cache-Control Nginx

6

Eu estou servindo meu conteúdo estático com o 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";
}

O cabeçalho resultante é assim:

Cache-Control:public, must-revalidate, 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

Por que o nginx envia 2 entradas de controle de cache, isso pode ser um problema para os clientes?

    
por optixx 11.09.2012 / 10:52

1 resposta

5

link

Vários campos de cabeçalho de mensagem com o mesmo nome de campo PODEM estar presentes em uma mensagem se, e somente se, todo o valor de campo para esse campo de cabeçalho estiver definido como uma lista separada por vírgula [i.e., # (values)]. Deve ser possível combinar os vários campos de cabeçalho em um par "field-name: field-value", sem alterar a semântica da mensagem, anexando cada valor de campo subsequente ao primeiro, cada um separado por uma vírgula. A ordem na qual os campos de cabeçalho com o mesmo nome de campo são recebidos é, portanto, significativa para a interpretação do valor do campo combinado e, portanto, um proxy NÃO DEVE alterar a ordem desses valores de campo quando uma mensagem é encaminhada.

    
por 11.09.2012 / 10:57