Todos os produtos
Search
Central de documentação

CDN:Configurar tempo de expiração do cache CDN

Última atualização: Jul 03, 2026

A configuração de regras de expiração de cache permite controlar a duração do cache para recursos nos pontos de presença (POPs) da CDNDCDN, equilibrando a atualização do conteúdo, o desempenho de acesso e os custos de busca na origem. Este documento explica como configurar e validar regras de cache, oferece orientações para solução de problemas e descreve as melhores práticas.

Como funciona

Quando uma solicitação chega a um ponto de presença (POP) da CDNDCDN, o sistema utiliza o seguinte processo priorizado para decidir se deve servir uma cópia em cache ou buscar o conteúdo mais recente no servidor de origem.

  1. A CDNDCDN não armazena recursos em cache se o servidor de origem responder com pragma:no-cache, cache-control:no-cache (ou no-store, ou max-age=0).

  2. As regras de cache configuradas no console da CDNDCDN têm precedência, exceto quando o servidor de origem envia explicitamente uma diretiva de no-cache conforme descrito acima.

    • Lógica de prioridade quando várias regras de cache do console correspondem a uma solicitação:

      Cenário

      Lógica de prioridade

      Exemplo

      Pesos diferentes

      A regra com o maior peso (1-99) tem precedência.

      A Regra A (diretório /image/, peso 50) e a Regra B (extensão de arquivo .jpg, peso 90) correspondem a image/a.jpg. A Regra B entra em vigor porque possui um peso maior.

      Mesmo peso

      A regra criada primeiro tem precedência.

      Você configura uma regra de diretório (/static/) e uma regra de extensão de arquivo (.js) para um nome de domínio, ambas com peso 60. Se a regra de diretório foi criada antes da regra de extensão de arquivo, uma solicitação para /static/app.js corresponde à regra de diretório.

    • Após uma solicitação corresponder a uma regra de cache, nenhuma outra regra é avaliada.

    • Por padrão, se o servidor de origem responder com Pragma: no-cache ou Cache-Control: no-cache/no-store/max-age=0, o POP da CDNDCDN não armazena o recurso em cache. Para forçar o armazenamento em cache, selecione Ignore Origin No-Cache Header ao configurar a regra de expiração de cache.

  3. A CDNDCDN respeita os cabeçalhos de resposta HTTP do servidor de origem caso uma solicitação não corresponda a nenhuma regra do console da CDNDCDN, ou se a regra correspondente tiver a opção Honor Origin TTL ativada. A prioridade dos cabeçalhos, do maior para o menor, é a seguinte: cache-control > expires > last-modified > ETag.

    Cabeçalho de resposta

    CDN tratamento

    Observações e exemplos

    Cache-Control

    Utiliza s-maxage (duração do cache CDN) primeiro e, em seguida, max-age.

    Exemplo: s-maxage=86400, max-age=3600

    Expires

    Especifica o tempo de expiração. Utilizado apenas se nenhum cabeçalho Cache-Control estiver presente.

    Exemplo: Expires: Wed, 21 Oct 2025 07:28:00 GMT

    Last-Modified

    O cabeçalho Last-Modified é um carimbo de data/hora que indica quando o recurso foi modificado pela última vez.

    A duração do cache é calculada da seguinte forma:

    (Hora Atual - last-modified) × 0,1. A duração calculada é então limitada entre um mínimo de 10 segundos e um máximo de 3.600 segundos.

    Exemplo: Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT

    ETag

    Um ETag é um identificador exclusivo gerado pelo servidor para uma versão específica de um recurso, geralmente um hash ou número de versão.

    Por padrão, um recurso com um ETag é armazenado em cache por 10 segundos.

    Exemplo: ETag: "abc123"

  4. Política de no-cache da CDNDCDN: Se uma solicitação não corresponder a nenhuma regra de cache no console da CDNDCDN e o servidor de origem não retornar cabeçalhos de resposta de cache como Cache-Control, a CDNDCDN aplica uma política de no-cache.

Nota

A CDNDCDN aplica políticas de cache apenas a solicitações para as quais o servidor de origem retorna um código de status 200, 203, 206, 300, 301, 308 ou 410. Para armazenar em cache solicitações com outros códigos de status, como 404, configure esse comportamento em Cache Configuration > Status Code Expiration.

Procedimento

Console (recomendado)

  1. No console CDN, acesse a página Domain Names e clique em Manage ao lado do nome de domínio desejado.

  2. Na página Cache > Cache Expiration, clique em Add para configurar uma regra de cache.

    image

    Parâmetro

    Descrição

    Padrão/exemplo

    Type

    Especifique o escopo da regra por Directory ou File Extension.• Directory: Define uma regra de cache uniforme para todos os recursos sob um caminho.• File Extension: Define uma regra de cache uniforme para arquivos de um tipo específico.

    Directory, File Extension

    Object

    Insira um valor com base no tipo selecionado:• Directory: Deve começar com uma barra (/), por exemplo, /static/. Uma única barra (/) corresponde a todos os caminhos. É possível adicionar apenas um diretório por vez.• File Extension: Insira uma ou mais extensões de arquivo, separadas por vírgulas, por exemplo, jpg,png,css. As entradas diferenciam maiúsculas de minúsculas e não suportam a barra vertical (

    ) ou outros símbolos.

    /static/, jpg,png,css

    Expire In

    A duração do cache para recursos nos POPs. A duração máxima é de três anos.• Para recursos estáticos raramente atualizados (por exemplo, imagens, instaladores), defina uma duração ≥ 1 mês.• Para recursos estáticos frequentemente atualizados (por exemplo, arquivos JS/CSS), defina uma duração menor, como 1 a 7 dias.• Para conteúdo dinâmico (por exemplo, páginas PHP/JSP), defina a duração como 0 segundos (sem cache).

    0 segundos a 3 anos

    Honor Origin TTL

    Desativado por padrão. Se ativado, a política de cache do servidor de origem tem precedência e substitui esta regra.

    Off

    Ignore Origin No-Cache Header

    Se ativado, a CDN ignora as seguintes diretivas de no-cache do servidor de origem: Cache-Control: no-store, no-cache ou max-age=0, e Pragma: no-cache. Os recursos são armazenados em cache de acordo com a regra do console.

    Off

    Follow POP Cache Policy

    Se ativado, a CDN retorna sua política de cache efetiva, como max-age=3600, ao cliente no cabeçalho de resposta.

    Off

    Force Revalidation

    Esta configuração é efetiva apenas quando o tempo de expiração é definido como 0 segundos.• Desativado (padrão, equivalente à política de cache no-store): O POP não armazena o arquivo em cache, e cada solicitação deve ser encaminhada ao servidor de origem para buscar o conteúdo.• Ativado (equivalente à política de cache no-cache): O POP armazena o arquivo em cache, mas cada solicitação deve ser revalidada com o servidor de origem usando o mecanismo 304. Útil para cenários que exigem validação em tempo real, mas também precisam reduzir a pressão de largura de banda no servidor de origem.

    Off

    Weight

    A prioridade da regra. O valor pode variar de 1 a 99, onde um valor maior indica maior prioridade. Quando várias regras correspondem ao mesmo recurso, a regra com o maior peso tem precedência. Se os pesos forem iguais, a regra criada primeiro tem precedência. Recomendamos definir um peso alto para caminhos ou extensões de arquivo específicos e um peso baixo para o diretório raiz (/) para obter um controle refinado.

    1 a 99

    Rule Condition

    Refine ainda mais o escopo da regra com base em parâmetros de solicitação, como cabeçalhos e parâmetros de URL. Não utilizado por padrão. Para configurar condições, use o Rule Engine. Quando condições de regra são referenciadas, elas são correspondidas com base na prioridade das condições associadas, e não na ordem de configuração do recurso em si.

    Do not use

Lógica de correspondência de regras de cache

As regras de expiração de cache da CDN suportam dois tipos de regras com comportamentos de correspondência diferentes:

  • Directory: Usa correspondência de prefixo de caminho. Por exemplo, configurar /static/ corresponde a todos os recursos nesse diretório (como /static/image/1.jpg e /static/css/style.css). Configurar / corresponde a todos os caminhos. O caminho do diretório deve começar com uma barra (/). Cada regra suporta apenas um diretório.

  • File Extension: Usa correspondência exata de extensão. Insira extensões sem pontos e separe múltiplas extensões com vírgulas (por exemplo, jpg,css,js). As extensões suportam apenas caracteres alfanuméricos, sem restrição quanto a tipos específicos de extensão. Os seguintes tipos podem ser configurados:

    • Extensões comuns de recursos estáticos: jpg, png, gif, css, js, html

    • Extensões de arquivos de fonte: ttf, otf, woff, woff2, eot

    • Extensões de páginas dinâmicas: php, aspx, jsp

    • Qualquer outra extensão alfanumérica

Nota

Observe o seguinte sobre a correspondência de regras de cache:

  • Quando várias regras de cache correspondem à mesma solicitação (por exemplo, uma regra de diretório e uma regra de extensão de arquivo), a regra com o maior Weight tem precedência. Regras com pesos iguais são resolvidas pela ordem de criação (a regra anterior vence). Para detalhes, consulte a seção "Como funciona" acima.

  • Se você associar uma condição de regra (configurada no Rule Engine) a uma regra de cache, múltiplas condições usam lógica AND — a solicitação deve satisfazer todas as condições para haver correspondência.

  • Se você definir uma regra geral de no-cache para todas as extensões dinâmicas (como aspx), certifique-se de que isso não afete os recursos estáticos que você pretende armazenar em cache. Para armazenar arquivos de fonte em cache, adicione uma regra dedicada com extensões como ttf,otf,woff,woff2,eot.

API

Chame a operação da API BatchSetCdnDomainConfig para configurar vários nomes de domínio em lote. Para obter mais informações sobre como configurar parâmetros para outros recursos, consulte Funções de configuração de nome de domínio.

Aplicar alterações de regras imediatamente

Regras novas ou modificadas aplicam-se apenas a recursos recém-armazenados em cache. Recursos previamente armazenados continuam usando a política de cache antiga até expirarem.

Para aplicar novas regras em toda a rede imediatamente, limpe manualmente o cache existente. Se você alterar uma regra, execute uma operação de purga usando o recurso Purge and Prefetch resources. Se você adicionar uma nova regra, execute uma operação de pré-busca usando o recurso prefetch resource.

Verificação

Após concluir a configuração, use o comando curl ou as ferramentas de desenvolvedor do navegador para inspecionar os cabeçalhos de resposta HTTP de um recurso e verificar se o cache está funcionando conforme o esperado.

1. Execute o comando de verificação

Execute o seguinte comando no seu terminal para testar a configuração.

curl -I "https://your.domain.com/path/to/file.jpg"

2. Interprete os principais cabeçalhos de resposta

Cabeçalho de resposta

Descrição

X-Cache

Indica se a solicitação atingiu o cache da CDNDCDN.- HIT: Acerto de cache.- MISS: Falha de cache. O recurso foi buscado na origem.

Cache-Control

Após ativar "Client Follows CDNDCDN Cache Policy", este cabeçalho exibe a diretiva de cache que a CDNDCDN passa para o navegador, como max-age=3600.

X-Swift-CacheTime

A duração total de cache configurada para o recurso no POP, em segundos.

Melhores práticas

  • Use nomes de arquivo versionados (recomendado): Ao atualizar um recurso estático como style.css, utilize um novo nome de arquivo com uma versão ou hash, como style-v2.css ou style-a1b2c3d.css, e atualize a referência no seu HTML. Esse método garante que os usuários recebam o conteúdo mais recente imediatamente, sem exigir uma purga manual do cache da CDNDCDN, sendo a forma recomendada de atualizar conteúdo em cache.

  • Implemente a separação de conteúdo dinâmico e estático: Utilize nomes de domínio ou caminhos de diretório diferentes para recursos dinâmicos e estáticos. Configure regras de cache separadas e com alto peso para cada um, evitando conflitos de política. Por exemplo, defina uma longa duração de cache para todos os recursos no diretório /static/ e nenhum cache para recursos no diretório /api/.

  • Utilize eficazmente o cache do navegador: Ative "Client follows CDNDCDN cache policy" para reduzir solicitações repetidas à CDNDCDN, melhorar a velocidade de carregamento e economizar tráfego da CDNDCDN.

  • Evite durações de cache excessivamente curtas: Uma duração curta faz com que a CDNDCDN realize buscas frequentes na origem, o que anula os benefícios da aceleração e aumenta o tráfego e os custos do seu servidor de origem.

  • Tenha cautela com durações longas de cache: Uma duração longa pode impedir que os clientes recebam atualizações de conteúdo em tempo hábil. Para conteúdos que precisam de atualizações frequentes, certifique-se de limpar o cache ou usar nomes de arquivo versionados.

  • Cenários de arquivos pequenos: Para recursos de arquivos pequenos na indústria de jogos (como arquivos de configuração e pacotes de ativos) que são atualizados com pouca frequência (por exemplo, semanalmente ou quinzenalmente), defina o tempo de expiração do cache para 15 dias ou alinhe-o ao ciclo real de atualização do recurso. Isso equilibra a velocidade de atualização e o desempenho de aceleração. Uma duração de cache muito curta leva a buscas frequentes na origem e reduz os benefícios da aceleração; já uma duração muito longa pode servir conteúdo desatualizado aos jogadores. Recomendamos usar o recurso de purge and prefetch para atualizar proativamente o cache quando o conteúdo for modificado.

Mecanismos de controle de cache HTTP

O protocolo HTTP utiliza três tipos de cabeçalhos para controle de cache:

  1. Validação de tempo de expiração

    Quando um cliente solicita um recurso de um servidor, ambas as partes concordam com um tempo de expiração para o recurso. Antes desse momento, a cópia em cache é considerada válida. Após esse momento, a cópia em cache torna-se inválida.

    No HTTP, os seguintes cabeçalhos são comumente usados para controlar a expiração do cache:

    Cabeçalho

    Versão do protocolo

    Descrição

    Exemplo

    Tipo

    Pragma

    HTTP/1.0

    Indica se o conteúdo deve ser armazenado em cache. Seu valor é tipicamente no-cache, significando que o arquivo não deve ser armazenado. Frequentemente usado para compatibilidade com servidores que suportam apenas o protocolo HTTP/1.0.

    Pragma:no-cache

    Solicitação/Resposta

    Expires

    HTTP/1.0

    O cabeçalho de resposta Expires especifica a data e hora em que o conteúdo em cache se torna obsoleto.

    Se uma data inválida for usada, como 0, significa que o recurso já expirou.

    Expires: Wed, 21 Oct 2022 07:28:00 GMT

    Resposta

    Cache-Control

    HTTP/1.1

    O cabeçalho de resposta Cache-Control fornece controle flexível de cache por meio de várias diretivas e é o principal cabeçalho que clientes modernos, como navegadores, utilizam para essa finalidade.

    Os três exemplos a seguir indicam que o arquivo não deve ser armazenado em cache:

    • Cache-Control:no-cache

    • Cache-Control:no-store

    • Cache-Control:max-age=0

    Exemplo de validade de cache de 1 hora: Cache-Control:max-age=3600

    Solicitação/Resposta

  2. Validação de tag de recurso

    O servidor inclui uma tag de recurso (como um ETag) em sua resposta inicial. Quando o cliente solicita o mesmo recurso novamente, ele envia essa tag de volta ao servidor para validação. Se o recurso não sofreu alterações, o servidor responde com um código de status HTTP 304, permitindo que o cliente use sua cópia em cache. Caso o recurso tenha sido alterado, o servidor envia o novo conteúdo.

    No HTTP, os seguintes cabeçalhos são comumente usados para controlar versões de cache:

    Cabeçalho

    Versão do protocolo

    Descrição

    Exemplo

    Tipo

    Last-Modified

    HTTP/1.0

    Indica a última hora de modificação do recurso.

    Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

    Resposta

    ETag

    HTTP/1.1

    Fornece um identificador exclusivo para uma versão específica de um recurso.

    A comparação de ETags pode determinar se um recurso foi alterado. Caso não tenha sido, o servidor de origem não precisa enviar uma resposta completa.

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    Resposta

  3. Negociação de conteúdo

    Softwares de cache usam uma chave para indexar objetos armazenados em disco. No HTTP/1.0, a URL do recurso é usada como chave. No entanto, diferentes representações de um recurso podem existir na mesma URL. Para distingui-las, são necessárias mais informações do cliente, como os cabeçalhos Accept-Language e Accept-Charset. Para suportar a negociação de conteúdo, o HTTP/1.1 introduziu o cabeçalho Vary na mensagem de resposta. Este cabeçalho lista quais cabeçalhos de solicitação são necessários para a negociação de conteúdo.

    A negociação de conteúdo normalmente usa o cabeçalho HTTP Vary para diferenciar entre diferentes cópias em cache, permitindo que diferentes clientes recebam cópias distintas ao solicitar o mesmo recurso:

    Cabeçalho

    Versão do protocolo

    Descrição

    Exemplo

    Tipo

    Vary

    HTTP/1.1

    Exemplos comuns:

    • O servidor especifica Vary: Accept-Encoding para informar ao receptor (por exemplo, um POP CDN) que ele deve armazenar duas versões do recurso: compactada e não compactada. Quando um cliente solicita o mesmo recurso da CDN, navegadores mais antigos podem receber o recurso não compactado para evitar problemas de compatibilidade, enquanto navegadores mais recentes podem receber o recurso compactado para reduzir o tráfego de transferência de dados.

    • O servidor especifica Vary: User-Agent para identificar o tipo de navegador que está enviando a solicitação. Isso informa ao receptor (por exemplo, um POP CDN) para armazenar diferentes versões do recurso com base no tipo de navegador.

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    Resposta

FAQ

Perguntas frequentes relacionadas a cache