Pular para o conteúdo principal

Construtor de Cabeçalho HTTP Cache-Control

Construa um cabeçalho HTTP Cache-Control válido a partir de suas diretivas de cacheability, freshness e revalidation — escolha uma predefinição de contexto ou alterne as diretivas individualmente, com uma explicação em linguagem clara de cada uma e avisos para combinações que são contraditórias ou parcialmente redundantes, como no-store junto com max-age.

Entrada

Escolha um contexto comum para preencher uma combinação de diretivas curada, ou deixe em Personalizado para alternar as diretivas você mesmo.

Cacheability

Permita que qualquer cache, incluindo caches compartilhados (CDNs, proxies), armazene a resposta — até mesmo uma que seria normalmente tratada como não armazenável.

Restrinja o cache apenas ao navegador solicitante — caches compartilhados não devem armazenar esta resposta.

Permita o armazenamento, mas force a revalidação com a origem antes de cada reutilização. NÃO desativa o cache, apesar do nome.

Proíba o armazenamento da resposta em qualquer lugar, por qualquer cache. A diretiva mais rigorosa — substitui todas as outras diretivas aqui.

Freshness

Por quanto tempo a resposta é fresca, em segundos, para navegadores e caches compartilhados. Deixe em branco para omitir.

Substitui max-age para caches compartilhados (CDNs, proxies) apenas. Deixe em branco para omitir.

Após o freshness expirar, sirva a resposta obsoleta por até este número de segundos enquanto revalida em segundo plano. Deixe em branco para omitir.

Se a revalidação falhar (erro de origem ou timeout), sirva a resposta obsoleta por até este número de segundos. Deixe em branco para omitir.

Revalidation & Outros

Uma vez obsoleta, a resposta deve ser revalidada com a origem antes da reutilização — os caches não podem servir dados obsoletos mesmo se a origem não for acessível.

O mesmo que must-revalidate, mas vinculante apenas aos caches compartilhados — navegadores não são afetados.

Diga ao navegador que o corpo nunca muda enquanto está fresco, portanto deve pular a revalidação condicional — até mesmo em um recarregamento manual. Sem sentido sem max-age/s-maxage.

Proíba caches e proxies de modificar o corpo da resposta (ex: recompressão de imagem) mesmo que normalmente o fizessem.

Um cache pode armazenar esta resposta apenas se entender a semântica de seu código de status — normalmente emparelhado com no-store.

Saída

A linha de cabeçalho completa, pronta para colar na configuração de resposta do seu servidor.

O Que Cada Diretiva Faz
DiretivaEfeito
No data yet
Avisos

Combinações contraditórias ou parcialmente redundantes — o cabeçalho ainda é gerado, mas essas diretivas não se comportarão como você esperaria juntas.

Isso foi útil?

Guias

O que é o HTTP Cache-Control Header Builder?

Cache-Control é o cabeçalho de resposta HTTP que diz aos navegadores, CDNs e proxies se uma resposta pode ser armazenada em cache, por quanto tempo e como deve ser revalidada após se tornar obsoleta. É também um dos cabeçalhos mais fáceis de errar: no-cache não significa "não cache," no-store silenciosamente substitui quase tudo o mais que você define junto com ele, e s-maxage só importa para caches compartilhados enquanto max-age importa para ambos. Esta ferramenta monta um cabeçalho correto a partir de diretivas individuais (ou uma predefinição curada) e explica, em linguagem clara, exatamente o que cada diretiva ativa faz — além de sinalizar combinações que contradizem ou parcialmente cancelam uma à outra.

Como usar

  1. Escolha uma Context Preset para um cenário comum — resposta de API, ativo estático, página HTML ou dados privados — ou deixe em Custom para alternar as diretivas você mesmo.
  2. No modo Custom, marque as diretivas Cacheability que se aplicam (public, private, no-cache, no-store), defina tempos de vida Freshness em segundos (max-age, s-maxage, stale-while-revalidate, stale-if-error), e ative quaisquer diretivas de Revalidation necessárias (must-revalidate, proxy-revalidate, immutable, no-transform, must-understand).
  3. A caixa Cache-Control Header é atualizada automaticamente — copie direto para sua configuração de resposta do servidor, regra de CDN ou código de aplicação.
  4. Leia What Each Directive Does para uma explicação em linguagem clara de cada diretiva que você habilitou, e verifique Warnings por qualquer coisa que contradiga ou silenciosamente cancele outra diretiva que você definiu.

Escolhendo uma predefinição

  • API responseno-store. Dados dinâmicos por solicitação que nunca devem ser armazenados em cache por ninguém.
  • Static assetpublic, max-age=31536000, immutable. Para arquivos com nome de arquivo com hash ou versão (app.a1b2c3.js) — a própria URL muda quando o conteúdo muda, portanto é seguro fazer cache por um ano e pular a revalidação inteiramente.
  • HTML pageno-cache. A URL permanece a mesma, mas o conteúdo pode mudar, então os caches podem armazená-la, mas devem verificar com a origem antes de servir novamente.
  • Private dataprivate, max-age=0, must-revalidate. Páginas de conta, carrinhos ou qualquer coisa específica do usuário: armazenável apenas pelo navegador e sempre revalidada.

FAQ

Qual é a diferença entre no-cache e no-store?

no-cache permite que um cache armazene a resposta, mas força-o a revalidar com o servidor de origem antes de servir novamente — é uma diretiva "verifique primeiro," não uma "não cache." no-store é a versão rigorosa: nenhum cache pode armazenar a resposta. Misturar no-store com diretivas como max-age ou must-revalidate não é inválido, mas essas diretivas se tornam sem sentido — no-store já evita qualquer armazenamento para elas se aplicarem.

Qual é a diferença entre max-age e s-maxage?

max-age define o tempo de vida do freshness para cada cache — o navegador e qualquer cache compartilhado (CDN, proxy) no meio. s-maxage substitui esse tempo de vida apenas para caches compartilhados, permitindo que você armazene uma resposta mais longo (ou mais curto) no CDN do que no próprio navegador do visitante. s-maxage em uma resposta private não tem efeito, pois caches compartilhados não são autorizados a armazenar respostas privadas em primeiro lugar.

immutable significa que a resposta nunca é revalidada?

Apenas dentro de sua janela de freshness. immutable diz ao navegador que pode pular solicitações de revalidação condicional inteiramente — incluindo em um recarregamento acionado pelo usuário — enquanto max-age (ou s-maxage) diz que a resposta está fresca. Uma vez que essa janela termina, as regras normais de revalidação se aplicam novamente. Definir immutable sem max-age/s-maxage não lhe dá janela de freshness para se aplicar.

Cache-Control é o único cabeçalho de cache que preciso?

É o principal para controlar freshness e armazenamento, mas validadores como ETag e Last-Modified ainda importam para solicitações de revalidação — são o que um cache envia de volta para a origem para perguntar "isso mudou?" uma vez que max-age expira. Para converter uma duração em um valor max-age= pronto para usar sem aritmética de segundos, use o Cache TTL Calculator. Para o fluxo de trabalho equivalente de construção de cabeçalho em solicitações entre origens, veja o CORS Headers Builder.

Privacidade

Esta ferramenta funciona inteiramente em seu navegador. As diretivas e valores que você define nunca são enviados para ou armazenados em nossos servidores.

http headerresponse headerbrowser cachingcdn cachingreverse proxyhttp cachingweb performanceno-storemust-revalidatestale-while-revalidate

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/cache-control-header-builder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "preset": "staticAsset"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `cache-control-header-builder` tool (HTTP Cache-Control Header Builder) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/cache-control-header-builder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Construtor de Cabeçalho HTTP Cache-Control — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamadaA partir de 5 créditos

Também disponível via

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.