As regras de expiração de cache determinam por quanto tempo os recursos permanecem armazenados nos pontos de presença (POPs) da DCDN. Isso permite equilibrar a atualização do conteúdo, o desempenho de acesso e os custos de busca na origem. Este tópico descreve o funcionamento das regras de cache, como configurá-las e verificá-las, além de abordar a solução de problemas e apresentar práticas recomendadas para ambientes de produção.
Observações de uso
-
É possível modificar o tempo de cache após adicionar um nome de domínio. A duração do cache afeta o tráfego de retorno à origem e os custos associados. Já o tempo de expiração influencia a frequência das buscas na origem. Defina a duração do cache de recursos conforme as necessidades do seu negócio.
Se o tempo de expiração for muito curto, a CDNDCDN buscará dados na origem com frequência, aumentando o tráfego no servidor de origem. Por outro lado, se o tempo for muito longo, as atualizações de dados sofrerão atrasos.
Um recurso armazenado em um POP da CDNDCDN que seja acessado com pouca frequência (ou seja, quando os clientes não solicitam muito esse recurso no mesmo POP da CDNDCDN) pode ser substituído por outros recursos mais populares nesse POP da CDNDCDN antes mesmo de seu cache expirar.
Quando um POP da DCDN recebe um arquivo estático de um servidor de origem, ele armazena o recurso em cache seguindo as Regras e prioridades de cache padrão da DCDN. Para obter informações sobre regras de cache para arquivos dinâmicos, consulte a Visão geral das regras de aceleração para conteúdo dinâmico e estático.
-
Evite atualizar o conteúdo no servidor de origem mantendo o mesmo nome de arquivo. Em vez disso, utilize números de versão para sincronização.
Para distinguir com precisão o conteúdo antes e depois de uma atualização, sincronize o conteúdo de origem usando números de versão. Isso significa adotar nomes de arquivo diferentes ao atualizar o conteúdo. Por exemplo, use nomes como img-v1.0.jpg e img-v2.1.jpg.
Procedimento
Faça login no console do DCDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Configure.
Na árvore de navegação à esquerda do nome de domínio, clique em Caching.
Na aba Cache Duration, clique em Add.
-
Na caixa de diálogo Cache Duration, configure uma regra de cache.

Parâmetro
Descrição
Type
Especifique o escopo dos recursos por Directory ou Filename Extension.
-
Directory: Define a mesma regra de cache para todos os recursos em um caminho especificado.
-
Filename Extension: Aplica a mesma regra de cache para recursos de um tipo de arquivo específico.
Content
O diretório ou extensão de arquivo aos quais a regra se aplica.
-
Se você definir Type como Directory, observe o seguinte:
-
Adicione apenas um diretório por vez. Uma barra (/) corresponde a todos os diretórios.
-
Insira o caminho completo do diretório. O caminho deve começar com uma barra (/). Exemplo: /directory/aaa.
-
-
Caso defina Type como Filename Extension, atente-se aos pontos abaixo:
-
Insira uma ou mais extensões de arquivo. Separe múltiplas extensões por vírgula (,), por exemplo,
jpg,txt. A entrada diferencia maiúsculas de minúsculas.As extensões de arquivo não se limitam aos tipos comuns de arquivos estáticos listados abaixo. É possível inserir qualquer extensão personalizada (por exemplo,
bytesouunity3d). O sistema reconhece e armazena em cache os recursos que correspondem a essas extensões personalizadas.Tipos de arquivos estáticos suportados:
-
Imagens: GIF, PNG, BMP, JPEG e JPG.
-
Páginas web: HTML, HTM e SHTML.
-
Arquivos de áudio e vídeo: MP3, WMA, FLV, MP4, WMV, OGG e AVI.
-
Documentos: DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT e PDF.
-
Outros: ZIP, EXE, TAT, ICO, CSS, JS, SWF, APK, M3U8, TS, EJS, SVG, WOFF e OTF.
-
-
Não é permitido usar asterisco (*) para corresponder a todos os tipos de arquivo.
-
Expire In
O TTL de cache para os recursos. A duração máxima é de 3 anos. Recomendamos as seguintes configurações:
-
Para arquivos estáticos raramente atualizados, como imagens e pacotes de aplicativos, defina o TTL para um mês ou mais.
-
No caso de arquivos estáticos atualizados frequentemente, como arquivos JS e CSS, configure um TTL personalizado conforme suas necessidades comerciais.
-
Quanto a arquivos dinâmicos, como PHP, JSP e ASP, defina o TTL como 0s para impedir que sejam armazenados em cache.
Honor origin cache policy
Quando ativado, os cabeçalhos de política de cache do servidor de origem, como Cache-Control e Pragma, têm precedência.
Ignore origin no-cache header
Com este recurso ativado, os POPs da DCDN ignorarão os seguintes cabeçalhos de política de cache na resposta do servidor de origem. Esses cabeçalhos indicam que o conteúdo não deve ser armazenado em cache.
-
Cache-Control: no-store
-
Cache-Control: no-cache
-
Cache-Control: max-age=0
-
Pragma: no-cache
Client follows DCDN cache policy
Ao habilitar esta funcionalidade, os POPs da DCDN responderão ao cliente com a política de cache efetiva.
Force revalidation
Este parâmetro só entra em vigor quando o TTL de cache está definido como 0. Os efeitos são os seguintes:
-
Desativado (padrão): Quando o TTL de cache da /DCDN é 0, os POPs da /DCDN não armazenam arquivos em cache e realizam uma busca na origem para cada solicitação.
-
Ativado: Se o TTL de cache da DCDN for 0, os arquivos podem ser armazenados nos POPs da DCDN, mas cada solicitação exigirá uma busca na origem para validar o conteúdo em cache.
Weight
A prioridade da regra de cache. Valores válidos são inteiros de 1 a 99. Um valor maior indica maior prioridade. A regra com a maior prioridade é aplicada primeiro.
Nota-
Ao configurar múltiplas regras de cache, defina um peso diferente para cada uma a fim de controlar sua prioridade de execução.
-
Se várias regras tiverem o mesmo peso, aquela criada anteriormente terá maior prioridade, independentemente do tipo de regra.
-
Caso existam múltiplas políticas de cache configuradas, a DCDN interrompe a correspondência de outras políticas assim que uma delas entrar em vigor.
Rule condition
Uma condição de regra identifica diversas informações de parâmetros em uma solicitação do usuário. Isso determina se uma configuração entra em vigor para essa solicitação.
ImportanteAo referenciar condições de regra, a correspondência ocorre com base na prioridade das condições associadas, e não na ordem de configuração do próprio recurso.
Não usar: Não utiliza uma condição de regra.
Para adicionar ou editar condições de regra, gerencie-as no Rules Engine.
-
-
Clique em OK para salvar a configuração.
Após configurar uma regra de cache com sucesso, ela aparecerá na lista da aba Cache Duration. Clique em Modify ou Delete para gerenciar a regra.
Regras e prioridades de cache padrão da Alibaba Cloud CDNDCDN
Para respostas de origem com códigos de status HTTP 200, 203, 206, 300, 301, 308, ou 410, o tempo de expiração do cache segue as regras abaixo.
Quando um POP da CDNDCDN recebe um recurso de arquivo de um servidor de origem, ele aplica as regras de cache na seguinte ordem de prioridade. Um número menor indica maior prioridade.
Se o servidor de origem responder com
pragma:no-cache,cache-control:no-cache(ouno-store, oumax-age=0), a CDNDCDN não armazenará o recurso em cache.-
Tempo de expiração de cache ou tempo de expiração de código de status definido no console da CDNDCDN.
NotaCaso uma solicitação da CDNDCDN corresponda a várias regras, apenas uma será aplicada. A prioridade é determinada primeiro pelo peso e depois pelo horário de criação.
Se houver múltiplas regras de cache, defina um peso diferente para cada uma para controlar sua prioridade de execução. Um peso maior indica maior prioridade.
Para regras com o mesmo peso, aquela criada anteriormente tem maior prioridade, independentemente do tipo de regra.
-
Outras regras de cache configuradas no servidor de origem. A prioridade, da maior para a menor, é:
cache-control>expires>last-modified>ETag.Se o cabeçalho
cache-controlna resposta do servidor de origem especificar um valormax-ageous-maxagemaior que 0, o cabeçalhocache-controldefinirá o tempo de vida. Por exemplo: cache-control:max-age=3600. Se ambosmax-agees-maxageestiverem presentes,s-maxageterá precedência.Quando a resposta de origem não contém um cabeçalho
cache-control, mas possui um cabeçalhoExpires, o tempo de expiração do cache é determinado pelo cabeçalhoExpires. Exemplo: expires:Tue, 25 Nov 2031 17:25:43 GMT.Se a resposta de origem não contiver
cache-controlouExpires, mas incluirlast-modified, o tempo de cache é calculado pela fórmula: (Hora Atual -last-modified) × 0,1. Se o resultado estiver entre 10 e 3600 segundos, esse valor será usado. Caso seja inferior a 10 segundos, o tempo de cache será de 10 segundos. Se ultrapassar 3600 segundos, o tempo de cache será limitado a 3600 segundos.Na ausência de
cache-control,Expiresoulast-modifiedna resposta de origem, mas havendoETag, o recurso ficará em cache por 10 segundos.
Caso os dados retornados pelo servidor de origem não contenham nenhum dos cabeçalhos de resposta relacionados a cache (
cache-control,expires,last-modifiedouETag), o recurso não será armazenado em cache por padrão.
Descrição das informações de resposta de cache
-
Date:Indica o momento em que o servidor de origem enviou o recurso em resposta ao POP da CDNDCDN.
Quando o POP da CDNDCDN revalida o recurso com o servidor de origem incluindo o cabeçalho
If-Modified-SinceouIf-None-Matchna solicitação de origem, as informações de Data são atualizadas se o servidor de origem retornar um código de status 304.O formato é Greenwich Mean Time (GMT), por exemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
-
X-Cache:Indica se o recurso solicitado atingiu o cache no POP da CDNDCDN. A tabela a seguir descreve os valores possíveis.
Status
Descrição
HITO recurso solicitado foi encontrado no cache do POP da CDNDCDN.
MISSO recurso solicitado não estava no cache do POP da CDNDCDN. O conteúdo foi fornecido diretamente pelo servidor de origem.
-
X-Swift-Cachetime:Mostra o tempo restante de cache do recurso no POP da CDNDCDN, em segundos.
X-Swift-Cachetime=Ali-Swift-Global-Savetime+ Tempo de expiração de cache definido para CDN -X-Swift-SaveTime.-
O valor de
X-Swift-Cachetimenem sempre equivale ao tempo de expiração definido para a CDNDCDN. Três situações podem ocorrer:X-Swift-Cachetime= Tempo de expiração de cache definido para a CDNDCDN, por exemplo, 3600 segundos.-
X-Swift-Cachetimeé ligeiramente inferior ao tempo de expiração configurado na CDNDCDN. Por exemplo, o tempo de expiração da CDNDCDN está definido como 300 segundos, masX-Swift-Cachetimemostra 295 segundos. Isso pode acontecer pelos seguintes motivos:Alta latência quando um POP de Camada 1 busca dados em um POP de Camada 2.
Os relógios dos POPs de Camada 1 e Camada 2 não estão sincronizados.
O valor de
X-Swift-Cachetimeé negativo. Isso pode indicar que o tempo de expiração de cache da CDNDCDN foi alterado. Quando o cliente envia uma solicitação, o cache no POP de Camada 1 já expirou, mas o cache no POP de Camada 2 ainda não. Por exemplo, se o tempo de expiração da CDNDCDN era originalmente 3600 segundos e foi alterado para 300 segundos, e um cliente enviar uma solicitação 600 segundos após a primeira, o cabeçalho de resposta seráX-Swift-Cachetime:-300. Para resolver esse problema, atualize o cache.
-
X-Swift-SaveTime:Registra o momento em que o recurso foi armazenado em cache pela primeira vez no POP da CDNDCDN acessado diretamente pelo cliente. Geralmente, trata-se de um POP de Camada 1.
Segue o formato Greenwich Mean Time (GMT), por exemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
-
Ali-Swift-Global-Savetime:Marca o instante em que o recurso foi armazenado em cache inicialmente em algum POP da CDNDCDN. Pode ser um POP de Camada 2 ou de outra camada de cache, dependendo da arquitetura de cache do site.
Utiliza o formato de timestamp UNIX, por exemplo:
1745053111, que representa2025-04-19 16:58:31.
Verificar o status de cache do recurso
Após configurar um TTL de cache, utilize estes métodos para confirmar se um recurso está sendo servido a partir do cache da DCDN.
-
Método 1: Usar o comando curl
No terminal, execute o comando abaixo para solicitar a URL alvo usando
curl -Ie verifique o campoX-Cacheno cabeçalho de resposta para determinar se houve acerto de cache.curl -I http://<accelerated_domain_name>/<resource_path>Nos cabeçalhos de resposta, verifique o campo
X-Cache:X-Cache: HITindica que o recurso foi servido do cache da DCDN.X-Cache: MISSsinaliza que o recurso não foi encontrado no cache da DCDN e foi entregue diretamente pelo servidor de origem.
-
Método 2: Utilizar ferramentas de desenvolvedor do navegador
Abra as ferramentas de desenvolvedor do seu navegador (F12). Na aba Network, acesse a URL do recurso. Selecione a solicitação e inspecione o cabeçalho
X-Cachena resposta.
Mecanismos de controle de cache HTTP
O protocolo HTTP define três tipos de mecanismos de controle de cache:
Exemplos de configuração
Exemplo 1: Para armazenar arquivos .txt em cache por 7 dias, adicione uma regra de cache no console da DCDN para a extensão de arquivo .txt e defina o TTL de cache como 7 dias.

Exemplo 2: As seguintes políticas de cache estão configuradas para o nome de domínio acelerado demo.aliyun.com. Quando um POP da DCDN busca o recurso http://demo.aliyun.com/image/example.png na origem, duas regras são correspondidas. Como ambas possuem o mesmo peso, o sistema prioriza a regra criada anteriormente. A regra para o diretório /image foi criada antes. Portanto, a regra baseada em diretório entra em vigor.