Todos os produtos
Search
Central de documentação

CDN:Chave de cache personalizada

Última atualização: Sep 21, 2026

As regras de chave de cache personalizada geram chaves de cache a partir de partes específicas de uma requisição HTTP, como a URI, os parâmetros de requisição, os cabeçalhos HTTP ou variáveis personalizadas. Ao consolidar requisições para o mesmo recurso em uma chave de cache uniforme, esse recurso melhora a taxa de acerto do cache, reduz as requisições à origem e diminui o tempo de resposta e o consumo de largura de banda.

Comparação e seleção de recursos

  • Conflito entre a chave de cache personalizada e Ignore parameters: Ao configurar a filtragem de parâmetros e uma chave de cache personalizada ao mesmo tempo, a filtragem de parâmetros torna-se inválida.

  • O recurso de chave de cache personalizada oferece um controle mais refinado; portanto, recomenda-se o seu uso em vez da filtragem de parâmetros. A tabela a seguir compara os dois recursos.

    Caso de uso

    Filtragem de parâmetros

    Chave de cache personalizada

    Ignorar todos os parâmetros de requisição na chave de cache

    defina Ignore Parameters como Yes e deixe o campo Retain Specified Parameters em branco.

    Adicione uma regra de parâmetro de requisição. defina Action como Reserve e defina Parameter Name como um nome de parâmetro inexistente, como example-argument.

    Reter apenas o parâmetro de requisição key1 na chave de cache

    defina Ignore Parameters como Yes e defina Retain Specified Parameters como key1.

    Adicione uma regra de parâmetro de requisição. defina Action como Reserve e defina Parameter Name como key1.

    Remover apenas o parâmetro de requisição key1 da chave de cache

    defina Remove Specified Parameters como key1.

    Adicione uma regra de parâmetro de requisição. defina Action como exclua e defina Parameter Name como key1.

  • Reescrever parâmetros de origem: O recurso de chave de cache personalizada modifica apenas a chave de cache e não altera a URL para a requisição à origem. A requisição à origem permanece igual à requisição do cliente. Para modifique os parâmetros da requisição enviada à origem, use Rewrite origin parameters.

  • Limpar cache: Após configurar uma chave de cache personalizada, uma tarefa de purge by URL pode não localizar o conteúdo em cache. Para garantir uma limpeza bem-sucedida, use a chave de cache final gerada pelas suas regras como alvo da limpeza.

Casos de uso

Uma chave de cache é um identificador exclusivo para um arquivo em cache em um ponto de presença (POP) da CDN. Cada arquivo em cache possui uma chave de cache correspondente. Por padrão, a chave de cache é a URL da requisição do cliente, incluindo quaisquer parâmetros. O recurso de chave de cache personalizada não modifique a URL para a requisição à origem, alterando apenas a chave de cache. A requisição à origem permanece igual à requisição original do cliente.

Nota

A CDN foi projetada para acelerar recursos estáticos e não oferece suporte à aceleração de API dinâmica. O recurso de chave de cache personalizada otimiza as estratégias de cache para recursos estáticos, como a padronização de parâmetros de URL ou a diferenciação entre clientes, e não é adequado para cenários de cache de API dinâmica. Para aceleração de conteúdo dinâmico, considere o uso de Edge Security Acceleration (ESA).

Caso de uso 1: Consolidar requisições

Diferentes requisições do cliente geralmente incluem parâmetros variados na URL. Mesmo que várias requisições tenham como alvo o mesmo arquivo, os POPs da CDN tratam requisições com parâmetros de URL diferentes como arquivos separados. Isso resulta em várias cópias em cache e requisições adicionais à origem.Consolidate requests - before

Use regras de chave de cache personalizada para unificar a chave de cache dessas requisições e reduzir a taxa de requisições à origem.Consolidate requests - after

Caso de uso 2: Diferenciar requisições

Quando as requisições do cliente compartilham a mesma URL, a CDN as trata como requisições para o mesmo arquivo. No entanto, pode ser necessário fornecer conteúdos diferentes com base em um campo client no cabeçalho HTTP que identifica diferentes sistemas clientes.Differentiate requests - before

Nesse caso, anexe o valor do cabeçalho client à chave de cache por meio de uma regra de chave de cache personalizada. Isso crie uma chave de cache distinta para cada tipo de cliente.Differentiate requests - after

Procedimento

  1. Faça login no console da CDN.

  2. Na página Domain Names, encontre o nome de domínio de destino e clique em Manage na coluna Actions.

  3. No painel de navegação à esquerda, escolha Cache.

  4. Na aba Custom Cache Key, clique em Create Rule para definir os seguintes parâmetros:

    Rule Condition

    Uma Rule Condition identifica requisições com base em vários parâmetros para determinar se uma configuração se aplica a uma requisição específica. Se uma regra usar uma Rule Condition, a prioridade da Rule Condition determina a ordem de execução, e não a definição de prioridade do recurso.

    • Não usar: A chave de cache personalizada se aplica a todas as requisições sem uma Rule Condition.

    • Para adicionar ou edite uma Rule Condition: gerencie-a no Rules Engine. Para mais informações, consulte Rule Conditions e Rules Engine.

    URIs

    Quando a URI de uma requisição do cliente corresponde à Source URI na configuração, o sistema a substitui pela Final URI configurada para gerar a chave de cache. configure várias políticas de substituição de URI. As políticas são verificadas sequencialmente de cima para baixo. Assim que houver correspondência com uma Source URI, o sistema aplica a Final URI correspondente e interrompe a verificação das políticas subsequentes.

    • Source URI: Uma URI que começa com uma barra (/) e não inclui o prefixo http:// ou o nome de domínio. Suporta expressões regulares PCRE.

    • Final URI: Uma URI que começa com uma barra (/) e não inclui o prefixo http:// ou o nome de domínio.

    Request Parameter

    As operações são aplicadas aos parâmetros da URL de requisição original. Realize as operações Add, Delete, Modify e Reserve. O resultado é anexado à chave de cache. Ao configurar várias operações, elas são executadas sequencialmente de cima para baixo.

    • Add: Anexa um novo parâmetro de requisição à chave de cache. Por exemplo, se a URL original for http://image.example.com/cat.jpg e você adicionar o parâmetro type=jpg, a chave de cache passa a ser http://image.example.com/cat.jpg?type=jpg.

    • Delete: Remove o parâmetro especificado da URL de requisição original ao gerar a chave de cache. Por exemplo, se a URL original for http://image.example.com/cat.jpg?type=jpg e você exclua o parâmetro type, a chave de cache passa a ser http://image.example.com/cat.jpg.

    • Modify: Altera o valor de um parâmetro especificado na URL de requisição original ao gerar a chave de cache. Por exemplo, se a URL original for http://image.example.com/cat.jpg?type=jpg e você modifique o parâmetro para type=png, a chave de cache passa a ser http://image.example.com/cat.jpg?type=png.

    • Reserve: Retém apenas os parâmetros especificados da URL de requisição original ao gerar a chave de cache. Todos os outros parâmetros são removidos. Por exemplo, se a URL original for http://image.example.com/cat.jpg?type=jpg&path=image e você reservar o parâmetro type, a chave de cache passa a ser http://image.example.com/cat.jpg?type=jpg.

    HTTP Headers

    Anexa os valores dos cabeçalhos HTTP especificados da requisição original do cliente à chave de cache. especifique vários nomes de cabeçalho, separados por espaços. Os valores são anexados na ordem em que os cabeçalhos são especificados. Por exemplo, se a URL original for http://image.example.com/cat.jpg e a requisição do cliente contiver um cabeçalho HTTP path:image, definir path no campo HTTP Headers produz a chave de cache http://image.example.com/cat.jpgimage.

    Custom Variables

    Adiciona valores de variáveis personalizadas à chave de cache gerada para melhorar a flexibilidade do cache. Uma variável personalizada consiste nos seguintes parâmetros:

    • Variable name: Um nome personalizado para a variável.

    • source: Um valor de campo presente na requisição do cliente. Os seguintes tipos de origem estão disponíveis:

      • Query String Parameter: A string de consulta na URL da requisição.

      • Request Header: Um cabeçalho presente na requisição do cliente.

      • Path: O caminho do recurso na URL da requisição.

      • Scheme: O protocolo usado pela URL da requisição. Oferece suporte a HTTP e HTTPS.

    • source field: Necessário apenas para os tipos de origem Query String Parameter, Request Header e Request Cookie. especifique uma das seguintes opções:

      • O nome de um parâmetro especificado na string de consulta.

      • O nome de um cabeçalho de requisição especificado.

    • Match rule: Uma expressão regular que corresponde a uma string específica no valor do campo de origem.

    • Variable expression: Gera o valor final da variável. Oferece suporte a strings fixas e referências de grupos de captura, como $1, que referencia o conteúdo capturado pelo primeiro grupo entre parênteses.

  5. clique em OK.

Exemplos de configuração

URIs

As requisições para http://aliyundoc.com/a/b/image.jpg e http://aliyundoc.com/a/b/c/image.jpg são tratadas como requisições para o mesmo arquivo. A chave de cache para esse arquivo é http://aliyundoc.com/c/image.jpg. configure as seguintes regras de reescrita de URI: reescreva a source URI /a/b para a Final URI /c e reescreva a source URI /a/b/c para a Final URI /c. clique em + Add source URI para adicionar regras de reescrita, ou clique em exclua para remover regras existentes.

Request Parameter

Uma requisição do cliente para http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 é processada da seguinte forma: add_par=1 é adicionado, exclua delete_par e modifique o valor de modify_par para 2. A chave de cache resultante é http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.

Importante

Se várias operações tiverem como alvo o mesmo parâmetro de requisição, a ordem de prioridade é: Add > exclua > Reserve > modifique.

A ação exclua suporta apenas um único nome de parâmetro. Para exclua vários parâmetros, clique em + Add Parameter Operation para adicionar uma regra exclua separada para cada parâmetro.

HTTP Headers

Os valores dos cabeçalhos User-Agent e Accept-Language de uma requisição do cliente são anexados à chave de cache. Por exemplo, se uma requisição para http://aliyundoc.com/a/b/image.jpg contiver os cabeçalhos User-Agent=Mozilla/5.0 (Linux; X11) e Accept-Language=en, a chave de cache é http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en. Na caixa de texto HTTP Headers, insira os campos de cabeçalho da requisição a serem incluídos, como User-Agent e Accept-Language.

Custom Variables

Exemplo 1

O nome da variável é language, a origem é Request Header, o campo de origem é Accept-Language, a regra de correspondência é ([%w]+),([%w]+) e a expressão da variável é $1aa. configure a variável personalizada da seguinte forma: defina Variable name como language, selecione Request Header como source, insira Accept-Language como source field, insira ([%w]+),([%w]+) como Match rule e insira $1aa como Variable expression.

Considere uma requisição do cliente para http://aliyundoc.com/a/b/image.jpg com o cabeçalho HTTP Accept-Language=en,ch. A regra de correspondência captura en e o atribui a $1 na expressão da variável. A expressão da variável também anexa aa, resultando no valor da variável enaa com o alias language. Esse valor é anexado à URL para formar a chave de cache final: http://aliyundoc.com/a/b/image.jpgenaa.

Nota

O $n na expressão da variável refere-se ao conteúdo capturado pelo n-ésimo grupo entre parênteses na regra de correspondência. Por exemplo, com Accept-Language=en,ch e a regra de correspondência ([%w]+),([%w]+), $1=en e $2=ch.

Exemplo 2

O nome da variável é expired, a origem é Request Cookie, o campo de origem é a, a regra de correspondência é [%w]+:(.*) e a expressão da variável é $1. configure a variável personalizada da seguinte forma:

  • Variable name: expired

  • source: Request Cookie

  • source field: a

  • Match rule: [%w]+:(.*)

  • Variable expression: $1

Considere uma requisição do cliente para http://aliyundoc.com/a/b/image.jpg com o cookie Cookie a=expired_time:12635187. A regra de correspondência captura 12635187 e o atribui a $1 na expressão da variável, com o alias expired. Esse valor é anexado à URL para formar a chave de cache final: http://aliyundoc.com/a/b/image.jpg12635187.

Exemplo 3

Este exemplo combina uma regra de URI e uma variável personalizada.

URI:

Consolide todas as requisições com uma URI correspondente a /abc/.*/abc em /abc. A source URI é /abc/.*/abc e a Final URI é /abc.

Variáveis personalizadas:

O nome da variável é testname, a origem é Path, a regra de correspondência é /abc/xyz/(.*) e a expressão da variável é $1. configure da seguinte forma: defina Variable name como testname, defina source como Path, defina Match rule como /abc/xyz/(.*) e defina Variable expression como $1.

Considere uma requisição do cliente para http://aliyundoc.com/abc/xyz/abc/image.jpg. De acordo com a configuração de URI, a chave de cache é reescrita para http://aliyundoc.com/abc/image.jpg. Em seguida, com base na configuração da variável personalizada, o caminho da requisição original corresponde a /abc/xyz/(.*). Nesse momento, $1 recebe o valor abc/image.jpg e é anexado à chave de cache, formando a chave de cache final: http://aliyundoc.com/abc/image.jpgabc/image.jpg. Isso demonstra como combinar regras para implementar lógicas de cache mais complexas.

Se não houver correspondência para uma variável personalizada da chave de cache, a expressão da variável $1 não é anexada à chave de cache.

Exemplo 4

Este exemplo combina uma Rule Condition e uma variável personalizada para gerar chaves de cache diferentes para requisições de clientes móveis e de PC.

Rule Condition Mobile:

O cabeçalho User-Agent contém qualquer uma das seguintes strings: *Mobile*,*Android*,*iPhone*,*ipad*.

Rule Condition PC:

O cabeçalho User-Agent não contém nenhuma das seguintes strings: *Mobile*,*Android*,*iPhone*,*ipad*.

Chave de cache personalizada Mobile:

Para Rule Condition, selecione Mobile. Para as Custom Variables, defina Variable Name como Mobile, Source como Path, Matching Rule como / e Variable Expression como +mobile.

Chave de cache personalizada PC:

Para Rule Condition, selecione PC. Para as Custom Variables, defina Variable Name como PC, Source como Path, Matching Rule como / e Variable Expression como +pc.

Em uma requisição do cliente para http://aliyundoc.com/image.jpg, a requisição corresponde à regra de chave de cache personalizada Mobile ou PC com base no valor de User-Agent. A chave de cache final para clientes móveis é http://aliyundoc.com/image.jpg+mobile e a chave de cache final para clientes de PC é http://aliyundoc.com/image.jpg+pc.