Cache-Control
foi introduzido no HTTP / 1.1 e oferece mais opções que Expires
. Eles podem ser usados para realizar a mesma coisa, mas o valor dos dados Expires
é uma data HTTP, enquanto Cache-Control
max-age permite especificar uma quantidade relativa de tempo para que você possa especificar "X horas após a solicitação da página".
O controle de cache em HTML é uma pergunta muito semelhante e possui um bom link para um tutorial de armazenamento em cache que deve responder à maioria das suas perguntas (por exemplo, http://www.mnot.net/cache_docs/#EXPIRES ). Em resumo, Expires
é recomendado para recursos estáticos, como imagens, e Cache-Control
quando você precisar de mais controle sobre como o cache é feito.
Se você estiver usando uma CDN (Cloud Delivery Network), recomendo usar o Cache-Control com um tempo máximo de duração em segundos. Por exemplo, Controle de cache: max-age = 604800. Isso evita picos de solicitação para o servidor de origem: com "Expira em quarta-feira, 30 de outubro de 20xx 04:37:07 GMT", todos os navegadores solicitarão você ao mesmo tempo.
fonte
cache-control
. Então, eu não vejo por que haveria pedidos picos quando se utilizaExpires:
De acordo com este artigo do Google Developers, HTTP Caching :
fonte
O Controle de cache foi definido no HTTP / 1.1, informa todos os mecanismos de cache do servidor para o cliente se eles podem armazenar em cache esse objeto. Ele é medido em segundos:
Cache-Control: max-age=3600
.O
Expires
campo do cabeçalho fornece a data / hora após a qual a resposta é considerada obsoleta. O valor Expira é um timestamp HTTP-date:Expires: Tue, 18 Jul 2017 16:07:23 GMT
.Se uma resposta incluir um
Cache-Control
campo com amax-age
diretiva, o destinatário DEVE ignorar oExpires
campo.fonte
O Heroku devcenter tem um excelente artigo sobre este assunto.
Citando isso,
fonte
Exceto pelas opções públicas / privadas do CC, não vejo diferença. Ao usar o Expira como "acesso mais 1 ano / mês / semana / dia", ele funciona exatamente da mesma maneira que o CC.
fonte
Se você ainda estiver interessado, deixo essa recomendação diretamente dos meninos do google. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching Eles preferem expirar antes do que o controle de cache
fonte