Todos os produtos
Search
Central de documentação

Edge Security Acceleration:Configurar TTL de cache

Última atualização: Jun 29, 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) do 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.

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 volta à origem e os custos. O tempo de expiração do cache 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 do cache for muito curto, o CDNDCDN buscará dados na origem com frequência, aumentando o tráfego no servidor de origem. Se o tempo de expiração for muito longo, as atualizações de dados sofrerão atrasos.

  • Um recurso armazenado em cache em um POP do CDNDCDN acessado com pouca frequência (ou seja, quando os clientes não solicitam frequentemente o recurso no mesmo POP do CDNDCDN) pode ser substituído por outros recursos mais populares no POP do CDNDCDN antes que seu cache expire.

  • Quando um POP do DCDN recebe um arquivo estático de um servidor de origem, ele armazena o recurso em cache com base nas Regras e prioridades padrão de cache do DCDN. Para obter informações sobre regras de cache para arquivos dinâmicos, consulte Visão geral das regras de aceleração para conteúdo dinâmico e estático.

  • Não atualize o conteúdo no servidor de origem usando 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 da origem usando números de versão. Isso significa usar nomes de arquivo diferentes ao atualizar o conteúdo. Por exemplo, use nomes como img-v1.0.jpg e img-v2.1.jpg.

Procedimento

  1. Faça login no console do DCDN.

  2. No painel de navegação à esquerda, clique em Domain Names.

  3. Na página Domain Names, localize o nome de domínio desejado e clique em Configure.

  4. Na árvore de navegação à esquerda do nome de domínio, clique em Caching.

  5. Na aba Cache Duration, clique em Add.

  6. Na caixa de diálogo Cache Duration, configure uma regra de cache.

    image

    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: Define a mesma regra de cache para recursos de um tipo de arquivo especificado.

    Content

    O diretório ou extensão de arquivo ao qual a regra se aplica.

    • Se você definir Type como Directory, observe o seguinte:

      • É possível adicionar 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.

    • Se você definir Type como Filename Extension, observe o seguinte:

      • É possível inserir uma ou mais extensões de arquivo. Separe múltiplas extensões com vírgula (,), por exemplo, jpg,txt. A entrada diferencia maiúsculas de minúsculas.

        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 é possível usar um asterisco (*) para corresponder a todos os tipos de arquivo.

    Expire In

    O TTL de cache para recursos. A duração máxima é de 3 anos. Recomendamos as seguintes configurações:

    • Para arquivos estáticos atualizados com pouca frequência, como imagens e pacotes de aplicativos, defina o TTL para um mês ou mais.

    • Para arquivos estáticos atualizados frequentemente, como arquivos JS e CSS, defina um TTL personalizado conforme as necessidades do seu negócio.

    • Para arquivos dinâmicos, como arquivos PHP, JSP e ASP, defina o TTL como 0s para evitar armazenamento em cache.

    Honor origin cache policy

    Se ativado, os cabeçalhos de política de cache do servidor de origem, como Cache-Control e Pragma, terão precedência.

    Ignore origin no-cache header

    Quando este recurso está ativado, os POPs do DCDN ignorarão os seguintes cabeçalhos de política de cache da 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

    Quando este recurso está ativado, os POPs do DCDN responderão ao cliente com a política de cache efetiva.

    Force revalidation

    Este parâmetro entra em vigor apenas quando o TTL de cache é definido como 0. Os efeitos são os seguintes:

    • Desativado (padrão): Quando o TTL de cache do /DCDN é definido como 0, os POPs do /DCDN não armazenam arquivos em cache e realizam uma busca na origem para cada solicitação.

    • Ativado: Quando o TTL de cache do DCDN é definido como 0, os arquivos podem ser armazenados em cache nos POPs do DCDN, e cada solicitação exige 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
    • Se você configurar várias regras de cache, defina um peso diferente para cada regra a fim de controlar sua prioridade de execução.

    • Se várias regras tiverem o mesmo peso, a regra criada anteriormente terá maior prioridade, independentemente do tipo de regra.

    • Se várias políticas de cache estiverem configuradas, o DCDN interromperá a correspondência de outras políticas assim que uma política entrar em vigor.

    Rule condition

    Uma condição de regra identifica várias 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.

    Importante

    Ao referenciar condições de regra, elas são correspondidas com base na prioridade das condições de regra 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.

  7. Clique em OK para salvar a configuração.

    Após configurar com êxito uma regra de cache, você poderá encontrá-la na lista na aba Cache Duration. Clique em Modify ou Delete para gerenciar a regra.

Regras e prioridades padrão de cache do Alibaba Cloud CDNDCDN

Para respostas da origem com códigos de status HTTP 200, 203, 206, 300, 301, 308, or 410, o tempo de expiração do cache é determinado pelas seguintes regras.

Quando um POP do 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.缓存优先级

  1. Se o servidor de origem responder com pragma:no-cache, cache-control:no-cache (ou no-store, ou max-age=0), o CDNDCDN não armazenará o recurso em cache.

  2. O tempo de expiração do cache ou o tempo de expiração do código de status definido no console do CDNDCDN.

    Nota

    Se uma solicitação do CDNDCDN corresponder a várias regras, apenas uma regra será aplicada. A prioridade é determinada primeiro pelo peso e depois pelo horário de criação.

    • Caso existam várias regras de cache, defina um peso diferente para cada regra a fim de controlar sua prioridade de execução. Um peso maior indica maior prioridade.

    • Para regras com o mesmo peso, a regra criada anteriormente tem maior prioridade, independentemente do tipo de regra.

  3. Outras regras de cache configuradas no servidor de origem. A prioridade, da maior para a menor, é: cache-control > expires > last-modified > ETag.

    1. Se o cabeçalho cache-control na resposta do servidor de origem especificar um valor max-age ou s-maxage maior que 0, o cabeçalho cache-control será usado para definir o tempo de vida. Por exemplo: cache-control:max-age=3600. Se tanto max-age quanto s-maxage estiverem presentes, s-maxage terá precedência.

    2. Se a resposta da origem não contiver um cabeçalho cache-control, mas contiver um cabeçalho Expires, o tempo de expiração do cache será determinado pelo cabeçalho Expires. Por exemplo: expires:Tue, 25 Nov 2031 17:25:43 GMT.

    3. Se a resposta da origem não contiver cache-control ou Expires, mas contiver last-modified, o tempo de cache será calculado pela fórmula: (Hora Atual - last-modified) × 0,1. Se o resultado estiver entre 10 segundos e 3600 segundos, esse resultado será usado. Se o resultado for menor que 10 segundos, o tempo de cache será de 10 segundos. Se o resultado for maior que 3600 segundos, o tempo de cache será de 3600 segundos.

    4. Se a resposta da origem não contiver cache-control, Expires ou last-modified, mas contiver ETag, o recurso será armazenado em cache por 10 segundos.

  4. Se os dados retornados do servidor de origem não contiverem nenhum dos cabeçalhos de resposta relacionados ao cache (cache-control, expires, last-modified ou ETag), 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 uma resposta para o POP do CDNDCDN.

    • Quando o POP do CDNDCDN revalida o recurso com o servidor de origem incluindo o cabeçalho If-Modified-Since ou If-None-Match na 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 obteve um acerto de cache no POP do CDNDCDN. A tabela a seguir descreve os valores possíveis.

    Status

    Descrição

    HIT

    O recurso solicitado obteve um acerto de cache no POP do CDNDCDN.

    MISS

    O recurso solicitado não obteve um acerto de cache no POP do CDNDCDN. O recurso foi fornecido pelo servidor de origem.

  • X-Swift-Cachetime:

    • Indica o tempo restante de cache do recurso no POP do CDNDCDN, em segundos.

    • X-Swift-Cachetime = Ali-Swift-Global-Savetime + Tempo de expiração do cache definido para CDN - X-Swift-SaveTime.

    • X-Swift-Cachetime nem sempre é igual ao tempo de expiração do cache definido para o CDNDCDN. As três situações a seguir podem ocorrer:

      • X-Swift-Cachetime = Tempo de expiração do cache definido para o CDNDCDN, por exemplo, 3600 segundos.

      • X-Swift-Cachetime é ligeiramente menor que o tempo de expiração do cache definido para o CDNDCDN. Por exemplo, o tempo de expiração do cache para o CDNDCDN está definido como 300 segundos, mas X-Swift-Cachetime é 295 segundos. Isso pode ocorrer pelos seguintes motivos:

        • Alta latência ocorre quando um POP de Camada 1 busca dados de um POP de Camada 2.

        • Os relógios nos POPs de Camada 1 e Camada 2 não estão sincronizados.

      • O valor de X-Swift-Cachetime é negativo. Isso pode ocorrer porque o tempo de expiração do cache para o CDNDCDN foi alterado. Quando o cliente envia uma solicitação, o cache no POP de Camada 1 expirou, mas o cache no POP de Camada 2 não. Por exemplo, o tempo de expiração do cache para o CDNDCDN era originalmente 3600 segundos e posteriormente foi alterado para 300 segundos. Se um cliente enviar uma solicitação 600 segundos após a primeira solicitação, o cabeçalho de resposta será X-Swift-Cachetime:-300. Para resolver esse problema, atualize o cache.

  • X-Swift-SaveTime:

    • Indica o momento em que o recurso foi armazenado em cache pela primeira vez no POP do CDNDCDN que o cliente acessou diretamente. Geralmente, trata-se de um POP de Camada 1.

    • O formato é Greenwich Mean Time (GMT), por exemplo: Sat, 19 Apr 2025 08:58:31 GMT.

  • Ali-Swift-Global-Savetime:

    • Indica o momento em que o recurso foi armazenado em cache pela primeira vez em um POP do CDNDCDN. Pode ser um POP de Camada 2 ou um POP em outra camada de cache, dependendo da arquitetura de cache do site.

    • O formato é um carimbo de data/hora UNIX, por exemplo: 1745053111, que representa 2025-04-19 16:58:31.

Verificar status de cache de recursos

Após configurar um TTL de cache, use estes métodos para verificar se um recurso está sendo servido a partir do cache do DCDN.

  • Método 1: Usar o comando curl

    No terminal, execute o seguinte comando para solicitar a URL de destino usando curl -I e verifique o campo X-Cache no 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: HIT indica que o recurso foi servido a partir do cache do DCDN.

    • X-Cache: MISS indica que o recurso não foi encontrado no cache do DCDN e foi servido diretamente pelo servidor de origem.

  • Método 2: Usar ferramentas de desenvolvedor do navegador

    Use 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-Cache na resposta.

Mecanismos de controle de cache HTTP

O protocolo HTTP define três tipos de mecanismos de controle de cache:

  1. Mecanismo de validação de tempo de expiração

    Quando um cliente solicita um recurso de um servidor, um tempo de expiração para o recurso é estabelecido. Antes desse momento, a cópia em cache do recurso é considerada válida. Após esse momento, a cópia em cache é considerada inválida.

    A seguir estão os cabeçalhos HTTP comuns que controlam o tempo de expiração do cache:

    Nome do Cabeçalho

    Versão do Protocolo

    Função

    Valor de Exemplo

    Tipo

    Pragma

    HTTP/1.0

    Pragma indica se o conteúdo não deve ser armazenado em cache. O valor típico é no-cache, o que significa que o arquivo não é armazenado em cache. É frequentemente usado para compatibilidade com servidores que suportam apenas HTTP/1.0.

    Pragma:no-cache

    Solicitação/Resposta

    Expires

    HTTP/1.0

    O cabeçalho de resposta Expires contém uma data/hora após a qual o conteúdo em cache expirará.

    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 pode ser definido com diferentes instruções para obter um controle de cache flexível. É o cabeçalho principal usado por clientes modernos, como navegadores, para controlar o armazenamento em cache.

    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 indicando um período de validade de cache de 1 hora: Cache-Control:max-age=3600

    Solicitação/Resposta

  2. Mecanismo de validação de tag de recurso

    Quando um cliente solicita um recurso de um servidor pela primeira vez, o servidor inclui uma tag de recurso no cabeçalho de resposta. Essa tag serve como identificador de validação para solicitações subsequentes do mesmo recurso. Quando o cliente solicita o recurso novamente, ele inclui a tag no cabeçalho da solicitação. Se o servidor validar a tag e determinar que o recurso não foi atualizado, ele responderá com um código de status HTTP 304. Isso indica que o cliente pode continuar a usar sua cópia local em cache. Se o servidor encontrar uma incompatibilidade, isso indicará que o recurso foi modificado e o cliente deverá recuperar o conteúdo do recurso novamente.

    A seguir estão os cabeçalhos HTTP comuns que controlam as versões de cache:

    Nome do Cabeçalho

    Versão do Protocolo

    Função

    Valor de Exemplo

    Tipo

    Last-Modified

    HTTP/1.0

    Last-Modified indica a última hora de modificação do recurso.

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

    Resposta

    ETag

    HTTP/1.1

    ETag 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. Se não tiver sido alterado, o servidor de origem não precisa enviar uma resposta completa.

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    Resposta

  3. Mecanismo de negociação de múltiplas cópias

    Softwares de cache usam uma palavra-chave para indexar objetos armazenados em disco. No HTTP/1.0, a URL do recurso é usada como palavra-chave. No entanto, recursos diferentes podem compartilhar a mesma URL. Para distingui-los, o cliente deve fornecer mais informações, como os cabeçalhos Accept-Language e Accept-Charset. Para suportar esse mecanismo de negociação de conteúdo, o HTTP/1.1 introduziu o cabeçalho Vary na mensagem de resposta. Esse cabeçalho especifica quais cabeçalhos da mensagem de solicitação são usados para a negociação de conteúdo.

    O mecanismo de negociação de múltiplas cópias geralmente usa o cabeçalho HTTP Vary para distinguir entre diferentes cópias em cache. Isso permite que diferentes clientes que solicitam o mesmo recurso recebam versões diferentes desse recurso:

    Nome do Cabeçalho

    Versão do Protocolo

    Descrição

    Valor de Exemplo

    Tipo

    Vary

    HTTP/1.1

    Exemplos comuns:

    • O servidor especifica Vary: Accept-Encoding para informar ao receptor (como um POP do DCDN) que duas versões do recurso (compactada e não compactada) precisam ser armazenadas em cache para este recurso. Quando um cliente solicita o mesmo recurso do DCDN, navegadores mais antigos obtêm o recurso não compactado (para evitar problemas de compatibilidade), enquanto navegadores mais recentes obtêm o recurso compactado (para reduzir o tráfego de transmissão de dados).

    • O servidor especifica Vary: User-Agent para identificar o tipo de navegador que está enviando a solicitação, informando ao receptor (como um POP do DCDN) para armazenar em cache a versão correspondente do recurso com base no tipo de navegador.

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    Resposta

Exemplos de configuração

Exemplo 1: Para armazenar arquivos .txt em cache por 7 dias, adicione uma regra de cache no console do DCDN para a extensão de arquivo .txt e defina o TTL de cache para 7 dias.

image.png

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

Referência de API

BatchSetDcdnDomainConfigs