1001Ferramentas
Dev

Cache-Control max-age Explicado

Converta o valor de max-age do cabeçalho Cache-Control (em segundos) para um tempo legível em horas e dias. Útil para entender e depurar cache HTTP e CDNs.

Duração

Quanto tempo 31536000 segundos realmente são

Você abre o DevTools, vê Cache-Control: max-age=604800 e trava tentando dividir de cabeça. Ou copiou o valor de um tutorial e não sabe se está cacheando por cinco minutos ou por cinco dias, o que muda bastante a vida quando o deploy sai errado. Cole o número de segundos e a página devolve o equivalente em minutos, horas, dias ou anos, escolhendo a unidade conforme a faixa.

O max-age não conta a partir do momento em que o arquivo chegou no seu navegador. Ele conta a partir da geração da resposta, e o cabeçalho Age informa quanto desse tempo já foi consumido dentro de um proxy ou CDN. Um max-age=3600 que chega com Age: 3500 ainda vale cem segundos. Para separar navegador de CDN existe o s-maxage, que sobrescreve o max-age nos caches compartilhados. A conversão aqui usa ano de 365 dias.

O campo aceita qualquer número, mas na especificação max-age é inteiro e não negativo. Valor fracionário ou negativo os caches tratam como inválido ou já vencido. Um ano inteiro, 31536000, só faz sentido em arquivo com nome versionado do tipo app.4f2c1.js, senão o usuário fica preso a uma versão velha sem saída. Para HTML, o normal é no-cache com ETag. A página só traduz o número, não monta o cabeçalho.

Perguntas frequentes

31536000 segundos dá quanto tempo?
Um ano de 365 dias, o valor máximo que se costuma usar em assets com nome versionado. Alguns guias antigos citam 31556926, que é o ano astronômico.
max-age=0 e no-store são a mesma coisa?
Não. Com max-age=0 o cache guarda a resposta e revalida a cada uso, o que ainda permite um 304. Com no-store nada é gravado, nem em disco nem em memória.
A ferramenta gera o cabeçalho Cache-Control para mim?
Não. Ela apenas converte um valor em segundos para tempo legível. Montar a diretiva completa, com public, immutable ou s-maxage, é trabalho manual.

Ferramentas Relacionadas