Todos os produtos
Search
Central de documentação

Edge Security Acceleration:Configurar TTL de cache

Última atualização: Sep 14, 2026

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

  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: 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, bytes ou unity3d). 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.

    Importante

    Ao 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.

  7. 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.缓存优先级

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

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

    Nota

    Caso 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.

  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 definirá o tempo de vida. Por exemplo: cache-control:max-age=3600. Se ambos max-age e s-maxage estiverem presentes, s-maxage terá precedência.

    2. Quando a resposta de origem não contém um cabeçalho cache-control, mas possui um cabeçalho Expires, o tempo de expiração do cache é determinado pelo cabeçalho Expires. Exemplo: expires:Tue, 25 Nov 2031 17:25:43 GMT.

    3. Se a resposta de origem não contiver cache-control ou Expires, mas incluir last-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.

    4. Na ausência de cache-control, Expires ou last-modified na resposta de origem, mas havendo ETag, o recurso ficará em cache por 10 segundos.

  4. Caso os dados retornados pelo servidor de origem não contenham nenhum dos cabeçalhos de resposta relacionados a 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 resposta ao POP da CDNDCDN.

    • Quando o POP da 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 atingiu o cache no POP da CDNDCDN. A tabela a seguir descreve os valores possíveis.

    Status

    Descrição

    HIT

    O recurso solicitado foi encontrado no cache do POP da CDNDCDN.

    MISS

    O 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-Cachetime nem 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, mas X-Swift-Cachetime mostra 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 representa 2025-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 -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 do cache da DCDN.

    • X-Cache: MISS sinaliza 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-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 por tempo de expiração

    Quando um cliente solicita um recurso a um servidor, estabelece-se um tempo de expiração para esse recurso. Antes desse momento, a cópia em cache é considerada válida. Após esse prazo, a cópia em cache torna-se 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, significando que o arquivo não será 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 for usada uma data inválida, 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 receber diferentes instruções para permitir um controle flexível do cache. É o principal cabeçalho utilizado por clientes modernos, como navegadores, para gerenciar o 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 por tag de recurso

    Na primeira vez que um cliente solicita um recurso a um servidor, este 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 constatar que o recurso não foi atualizado, responderá com um código de status HTTP 304. Isso indica que o cliente pode continuar usando sua cópia local em cache. Caso o servidor detecte uma incompatibilidade, significa que o recurso foi modificado e o cliente precisa recuperar o conteúdo novamente.

    Veja abaixo os cabeçalhos HTTP comuns que controlam 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 data 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 permite determinar se um recurso mudou. Se não houver alterações, 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 funciona como palavra-chave. No entanto, recursos diferentes podem compartilhar a mesma URL. Para diferenciá-los, o cliente precisa 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 utiliza o cabeçalho HTTP Vary para distinguir entre diferentes cópias em cache. Isso permite que clientes distintos, ao solicitarem o mesmo recurso, recebam versões diferentes dele:

    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 da DCDN) que duas versões do recurso (comprimida e não comprimida) devem ser armazenadas em cache. Quando um cliente solicita o mesmo recurso à DCDN, navegadores mais antigos recebem o recurso não comprimido (para evitar problemas de compatibilidade), enquanto navegadores mais recentes obtêm o recurso comprimido (para reduzir o tráfego de dados).

    • O servidor especifica Vary: User-Agent para identificar o tipo de navegador que fez a solicitação, informando ao receptor (como um POP da 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 da DCDN para a extensão de arquivo .txt e defina o TTL de cache como 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 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.image.png

Referência de API

BatchSetDcdnDomainConfigs