Todos os produtos
Search
Central de documentação

CDN:Modificar cabeçalhos de resposta de entrada

Última atualização: Jul 03, 2026

Quando o cache em um ponto de presença (POP) expira ou ocorre uma falha de cache, o POP solicita o conteúdo mais recente do servidor de origem. O conteúdo e os cabeçalhos HTTP retornados pelo servidor de origem são chamados de cabeçalhos de resposta da origem. Modifique esses cabeçalhos no servidor de origem para definir uma política de cache, configurar o Compartilhamento de Recursos de Origem Cruzada (CORS), entre outras tarefas. Assim, você otimiza a velocidade de carregamento do site, aumenta a segurança do conteúdo, controla a acessibilidade dos recursos e melhora a experiência do usuário.

Contexto

Os cabeçalhos de resposta HTTP são componentes de uma resposta HTTP que transmitem parâmetros específicos ao cliente.

Quando o conteúdo solicitado por um usuário final não está armazenado em cache em um nó de CDN, a CDN realiza uma busca na origem e o servidor de origem envia uma resposta. É possível modificar os cabeçalhos HTTP nessa resposta de entrada. Por exemplo, reescreva o valor do cabeçalho Content-Type antes da transmissão ao cliente para garantir a análise correta. Se o servidor de origem retornar um valor incorreto para Content-Type, o cliente poderá falhar ao analisar o conteúdo. A reescrita do cabeçalho na CDN resolve esse problema.

image
Nota
  • Uma resposta de entrada é a mensagem HTTP que um servidor de origem envia a um nó de CDN. A modificação dos cabeçalhos de resposta de entrada afeta apenas a mensagem HTTP enviada do servidor de origem para o nó de CDN; ela não altera as respostas que o nó de CDN fornece ao usuário final.

  • Não é possível modificar cabeçalhos de resposta de entrada para domínios curinga.

Casos de uso

Veja a seguir casos de uso e exemplos comuns:

  • Tipo de conteúdo incorreto: Se o tipo de conteúdo (Content-Type) retornado pelo servidor de origem não corresponder ao conteúdo real, o cliente talvez não consiga analisá-lo corretamente. Por exemplo, um arquivo HTML pode ser marcado incorretamente como texto simples. Configure o cabeçalho de resposta da origem para resolver esse problema.

    Exemplo: Altere Content-Type: text/plain para Content-Type: text/html.

  • Controle da política de cache: Caso seja necessário um controle refinado sobre a política de cache da CDN, ajuste os campos Cache-Control ou Expires nos cabeçalhos de resposta do servidor de origem. Esse ajuste ajuda a otimizar a frequência de atualização de conteúdo e a taxa de acerto de cache.

    Exemplo: Altere Cache-Control: max-age=3600 para Cache-Control: max-age=86400 para estender o tempo de expiração do cache. Para obter mais informações sobre as regras de cache padrão da CDN, consulte Regras e prioridades de cache padrão do Alibaba Cloud CDN.

  • Compartilhamento de Recursos de Origem Cruzada (CORS): Para permitir que aplicativos web de outros domínios acessem recursos hospedados na CDN, configure o cabeçalho Access-Control-Allow-Origin e outros cabeçalhos CORS relacionados no servidor de origem. Essas configurações garantem que, quando um navegador realiza uma solicitação de origem cruzada, a CDN forneça os cabeçalhos de resposta apropriados ao cliente para evitar erros de CORS. Para obter mais informações sobre problemas de acesso de origem cruzada, consulte Configurar o Compartilhamento de Recursos de Origem Cruzada.

    Exemplos:

    • Access-Control-Allow-Origin: *: Permite solicitações de recursos de origem cruzada de todos os domínios.

    • Access-Control-Allow-Methods: GET, POST, OPTIONS: Especifica os métodos HTTP permitidos para solicitações de origem cruzada.

  • Transferência compactada: Se o servidor de origem oferecer suporte a transferência compactada, mas não a tiver ativado, ou se o algoritmo de compactação utilizado não for o mais eficiente, defina o campo Accept-Encoding no cabeçalho de resposta de volta à origem para instruir o servidor de origem a usar o método de compactação ideal.

    Exemplo: Altere Accept-Encoding: gzip, deflate para Accept-Encoding: br para priorizar a compactação Brotli. Para obter mais informações, consulte Compactação Brotli.

  • Redirecionamento: Quando o servidor de origem precisa redirecionar um usuário para outra URL, defina os cabeçalhos de redirecionamento corretos no cabeçalho de resposta da origem. Para obter mais informações, consulte Configurar o seguimento de redirecionamento 301/302.

    Exemplo: Location: https://www.example.com/new-page.html: Notifica a CDN e o navegador do usuário sobre a nova localização do recurso para redirecionamento 301 ou 302.

  • Comportamento personalizado da origem: Talvez seja necessário adicionar cabeçalhos personalizados à resposta para implementar funções específicas ou para fins de rastreamento.

Observações

  • Múltiplas configurações são executadas de cima para baixo, na ordem em que aparecem na lista. Os efeitos são cumulativos. Se várias configurações modificarem o mesmo cabeçalho, a última terá precedência. No exemplo a seguir, a Configuração 2 é a que entra em vigor:

    • Configuração 1: Adicionar o cabeçalho de resposta HTTP: cache-control: max-age=3600

    • Configuração 2: Adicionar o cabeçalho de resposta HTTP: cache-control: no-cache

  • Quando condições de regra são aplicadas, a correspondência é determinada pela prioridade das condições, e não pela ordem das configurações.

Procedimento

  1. Faça login no CDN console.

  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 Manage na coluna Actions.

  4. No painel de navegação do domínio, clique em Origin Fetch.

  5. Clique em Modify Incoming Response Header.

  6. Clique em Customize.

  7. Modifique as configurações do cabeçalho de resposta de entrada.

    Importante

    Se múltiplas operações se aplicarem ao mesmo parâmetro de cabeçalho de resposta da origem, elas serão executadas com base na seguinte prioridade: Replace > Add > Change e Delete. Por exemplo, se uma operação de adição e uma de exclusão estiverem configuradas para o mesmo parâmetro, a operação de adição será executada antes da operação de exclusão.

    Adicionar cabeçalho de resposta

    Parâmetro

    Exemplo

    Descrição

    Operation

    add

    Adiciona o cabeçalho de resposta especificado à resposta da origem.

    Response Header

    Custom Response Header

    Selecione Custom Response Header ou um parâmetro de cabeçalho de resposta predefinido.

    Header Name

    x-code

    Especifica o nome do cabeçalho de resposta personalizado.

    Header Value

    key1

    Insira um ou mais valores de cabeçalho, separados por vírgulas (,).

    key1,key2

    Allow Duplicates

    Allow

    • Yes: Permite adicionar cabeçalhos de resposta duplicados. Por exemplo, x-code:key1 e x-code:key2.

    • No: Se já existir um cabeçalho com o mesmo nome, o novo valor substituirá o existente. Por exemplo, se você adicionar x-code:key1 e depois x-code:key2, o cabeçalho final será x-code:key2.

    Rule Condition

    Do not use

    Uma condição de regra identifica várias informações de parâmetros em uma solicitação de usuário. Isso determina se uma configuração entra em vigor para essa solicitação.

    • Do not use: Não utiliza uma condição de regra.

    • Para adicionar ou editar condições de regra, gerencie-as no Rules Engine.

    Excluir cabeçalho de resposta

    Parâmetro

    Exemplo

    Descrição

    Operation

    delete

    Remove todos os cabeçalhos de resposta que possuem o nome especificado, incluindo duplicatas.

    Response Header

    Custom Response Header

    Selecione Custom Response Header ou um parâmetro de cabeçalho de resposta predefinido.

    Header Name

    x-code

    Especifica o nome do cabeçalho de resposta personalizado a ser excluído.

    Rule Condition

    Do not use

    Uma condição de regra identifica várias informações de parâmetros em uma solicitação de usuário. Isso determina se uma configuração entra em vigor para essa solicitação.

    • Do not use: Não utiliza uma condição de regra.

    • Para adicionar ou editar condições de regra, gerencie-as no Rules Engine.

    Modificar cabeçalho de resposta

    Parâmetro

    Exemplo

    Descrição

    Operation

    modify

    Modifica o cabeçalho. Esta operação não é permitida se existirem cabeçalhos duplicados com o mesmo nome.

    Response Header

    Custom Response Header

    Selecione Custom Response Header ou um parâmetro de cabeçalho de resposta predefinido.

    Header Name

    x-code

    Especifica o nome do cabeçalho de resposta personalizado a ser modificado.

    Change Value To

    key1,key3

    Especifica o novo valor para o cabeçalho. Para configurar múltiplos valores, separe-os por vírgulas (,).

    Rule Condition

    Uma condição de regra identifica várias informações de parâmetros em uma solicitação de usuário. Isso determina se uma configuração entra em vigor para essa solicitação.

    • Do not use: Não utiliza uma condição de regra.

    • Para adicionar ou editar condições de regra, gerencie-as no Rules Engine.

    Substituir cabeçalho de resposta

    Parâmetro

    Exemplo

    Descrição

    Operation

    replace

    Substitui o valor do cabeçalho. Esta operação não é permitida se existirem cabeçalhos duplicados com o mesmo nome.

    Response Header

    Custom Response Header

    Selecione Custom Response Header ou um parâmetro de cabeçalho de resposta predefinido.

    Header Name

    x-code

    Especifica o nome do cabeçalho de resposta personalizado cujo valor você deseja substituir.

    Find

    key

    Uma expressão regular que corresponde à parte do valor do cabeçalho a ser substituída.

    Replace With

    abc

    O valor que substitui o texto correspondente.

    Match

    Match All

    • Match All: Substitui todas as ocorrências que correspondem à expressão regular. Por exemplo, se o cabeçalho for x-code:key1,key2,key3 e você usar uma expressão regular para substituir o valor correspondente key por abc, o resultado será x-code:abc1,abc2,abc3.

    • Match the First Only: Substitui apenas a primeira ocorrência que corresponde à expressão regular. Por exemplo, se o cabeçalho for x-code:key1,key2,key3 e você usar uma expressão regular para substituir o valor correspondente key por abc, o resultado será x-code:abc1,key2,key3.

    Rule Condition

    -

    Uma condição de regra especifica os critérios que uma solicitação de usuário deve atender para que esta configuração seja aplicada.

    • Do not use: Nenhuma condição de regra é utilizada.

    • Para adicionar ou editar condições de regra, acesse a página do rule engine.

  8. Clique em OK.

Cabeçalhos de resposta padrão

O Alibaba Cloud CDN define quatro cabeçalhos de resposta por padrão: Cache-Control, Content-Type, Expires e Last-Modified. Esses cabeçalhos essenciais do protocolo HTTP controlam o cache, definem tipos de conteúdo, estabelecem tempos de expiração e registram a última hora de modificação dos recursos.

Cabeçalho

Descrição

Exemplo

Cache-Control

Controla o comportamento e a duração do cache de um recurso. Ele fornece diretivas de cache para POPs e navegadores clientes, especificando quando armazenar o conteúdo em cache, por quanto tempo e quando ele se torna obsoleto. Este cabeçalho tem precedência sobre o cabeçalho legado Expires.

  • Cache-Control: no-cache força a validação com a origem antes de usar um recurso em cache.

  • Cache-Control: max-age=3600 especifica que o recurso é válido por 3600 segundos (1 hora) e pode ser servido a partir do cache sem uma busca na origem.

Content-Type

Especifica o tipo de mídia de um recurso. Este cabeçalho ajuda o navegador cliente a interpretar e renderizar os dados corretamente. A CDN também usa este cabeçalho para processar e transferir conteúdo.

  • Content-Type: text/html indica que o conteúdo está no formato HTML.

  • Content-Type: image/jpeg indica que o recurso é uma imagem JPEG.

Expires

Especifica a data e a hora em que o recurso expira. A CDN usa este cabeçalho para determinar se o recurso ainda é válido. Se estiver expirado, a CDN realiza uma busca na origem para recuperar uma versão atualizada. O cabeçalho Expires é um mecanismo legado. No HTTP/1.1, o cabeçalho Cache-Control oferece um controle mais refinado, e o uso de Expires diminuiu.

Expires: Thu, 01 Dec 2023 16:00:00 GMT indica que o conteúdo expira após o horário GMT especificado.

Last-Modified

Indica a hora em que o recurso foi modificado pela última vez. A CDN e os navegadores clientes usam este cabeçalho de resposta para determinar se um recurso em cache ainda está atualizado.

Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT indica a última hora de modificação do recurso, usada para validação de cache.

Exemplos de configuração

Exemplo 1: Definir um tipo MIME de resposta

Caso de uso

Definir um tipo MIME específico para uma resposta.

Nota

Os tipos MIME incluem as seguintes categorias principais:

  • Texto: Inclui arquivos de texto (como .txt e .csv) e arquivos HTML (como .html, .htm e .shtml).

  • Imagem: Inclui arquivos de imagem comuns (como .jpg, .png e .gif).

  • Áudio: Inclui arquivos de áudio (como .mp3 e .wav).

  • Vídeo: Inclui arquivos de vídeo (como .mp4 e .avi).

  • Aplicativo: Inclui arquivos de aplicativo (como .pdf, .doc e .xls).

Configuração

  • Operação do cabeçalho de resposta: Add

  • Nome do cabeçalho: Content-Type

  • Valor do cabeçalho: text/html

    Defina Allow Duplicates como Do not allow e Rule Condition como Do not use e clique em OK.

Resultado: O POP adiciona o cabeçalho Content-Type: text/html à resposta do servidor de origem. Se você configurar este cabeçalho novamente, o novo valor substituirá o existente.

Exemplo 2: Excluir um cabeçalho de resposta

Caso de uso

Excluir um cabeçalho de resposta.

Configuração

  • Operação do cabeçalho de resposta: Delete

  • Nome do cabeçalho: Content-Type

    Defina Allow Duplicates como Do not allow e Rule Condition como Do not use e clique em OK.

Resultado: O POP remove o cabeçalho Content-Type da resposta antes de retorná-la ao cliente.

Nota

Se você aplicar as configurações do Exemplo 1 e do Exemplo 2, o sistema primeiro adicionará e depois excluirá o cabeçalho de resposta Content-Type: text/html. Como resultado, o cliente recebe a resposta sem um tipo MIME especificado.

Perguntas frequentes

Cabeçalho de resposta CORS ausente

Se você configurar um cabeçalho de resposta de volta à origem, como Access-Control-Allow-Origin, no Alibaba Cloud CDN, mas ainda encontrar erros de CORS e não conseguir localizar o cabeçalho na resposta final, o problema pode ser causado por um dos seguintes motivos:

Possíveis causas

  1. Configuração incorreta ou pendente: A configuração pode estar incorreta ou ainda não entrou em vigor, impedindo a CDN de retornar o cabeçalho de resposta CORS esperado.

  2. Cache da CDN desatualizado: Um POP pode ter armazenado em cache uma resposta antiga e continua a servir cabeçalhos desatualizados apesar da nova configuração.

  3. Problemas no servidor de origem: Pode ocorrer um conflito se o servidor de origem retornar cabeçalhos CORS inconsistentes com a configuração da CDN. Nesse caso, alinhe as configurações em ambos.

  4. Cache do navegador desatualizado: O navegador pode ter armazenado em cache uma resposta antiga, impedindo-o de fazer uma nova solicitação para buscar os cabeçalhos atualizados.

Soluções

  1. Verifique a configuração: Confirme se a configuração da CDN está definida corretamente e entrou em vigor, especialmente as configurações para cabeçalhos de resposta relacionados a CORS.

  2. Limpe o cache da CDN: Use o recurso de atualização da CDN para purgar o conteúdo em cache e, em seguida, acesse o recurso novamente. Para obter mais informações, consulte purgar e pré-buscar recursos.

  3. Verifique as configurações do servidor de origem: Garanta que o servidor de origem não retorne cabeçalhos de resposta CORS que entrem em conflito com a configuração da CDN. Alinhe as configurações de CORS tanto no servidor de origem quanto na CDN.

  4. Limpe o cache do navegador: Limpe o cache do seu navegador ou use uma janela privativa para testar. Isso garante que o navegador busque os cabeçalhos de resposta mais recentes.

Verificar cabeçalhos de resposta CORS

Instância ECS

Verifique se o servidor web ou aplicativo na sua instância ECS define corretamente o cabeçalho Access-Control-Allow-Origin e outros cabeçalhos de resposta relacionados a CORS. Para verificar sua configuração:

  1. Faça login no ECS console e conecte-se à sua instância ECS.

  2. Verifique a configuração de CORS do seu servidor web.

    A configuração de cabeçalhos de resposta CORS depende do servidor web ou aplicativo que você utiliza. Servidores web comuns incluem Apache e Nginx.

    Apache

    No arquivo .htaccess ou em um arquivo de configuração do servidor, como httpd.conf ou vhosts.conf, procure por configurações semelhantes às seguintes:

    Header set Access-Control-Allow-Origin "*"

    Ou, para um domínio específico:

    Header set Access-Control-Allow-Origin "http://example.com"

    Garanta que essas configurações estejam corretas.

    Nginx

    No arquivo de configuração do Nginx, geralmente /etc/nginx/nginx.conf ou /etc/nginx/sites-available/default, localize o bloco server relacionado ao seu aplicativo e verifique as seguintes configurações:

    location / {
    	add_header 'Access-Control-Allow-Origin' '*';
    }

    Ou, para um domínio específico:

    location / {
    	add_header 'Access-Control-Allow-Origin' 'http://example.com';
    }

    Garanta que essas configurações estejam corretas.

  3. Reinicie o servidor web.

    Após modificar o arquivo de configuração, reinicie o servidor web para aplicar as alterações. Por exemplo, use os seguintes comandos para reiniciar o Apache ou o Nginx.

    • Para Apache:

      sudo service apache2 restart
    • Para Nginx:

      sudo service nginx restart
  4. Verifique os cabeçalhos de resposta no seu navegador.

    Use a aba Network nas DevTools do seu navegador para verificar os cabeçalhos de resposta do recurso. Verifique se o cabeçalho Access-Control-Allow-Origin está presente. Se não estiver, a configuração pode não ter entrado em vigor ou uma resposta em cache de uma CDN está sendo servida.

OSS

O OSS oferece suporte a CORS. Use o console do OSS para verificar se cabeçalhos de resposta como Access-Control-Allow-Origin estão definidos corretamente. Siga estas etapas:

  1. Faça login no OSS console.

  2. No painel de navegação à esquerda, clique em Buckets. Na página exibida, clique em o nome do bucket desejado.

  3. No painel de navegação à esquerda, escolha Content Security > CORS.

  4. Na lista de regras de CORS, verifique se a configuração Access-Control-Allow-Origin existe e possui o valor correto.

    • Para permitir acesso de qualquer origem, defina Access-Control-Allow-Origin como *.

    • Para permitir acesso apenas de origens específicas, defina Access-Control-Allow-Origin como a URL da origem específica, como https://yourdomain.com.

  5. Verifique outros cabeçalhos CORS relacionados.

    Além de Access-Control-Allow-Origin, verifique se os seguintes cabeçalhos relacionados a CORS também estão configurados corretamente:

    • Access-Control-Allow-Methods: Especifica os métodos HTTP permitidos, como GET, POST, PUT e DELETE.

    • Access-Control-Allow-Headers: Especifica os cabeçalhos de solicitação personalizados permitidos se a solicitação incluir cabeçalhos não padrão.

    • Access-Control-Max-Age: Especifica o tempo máximo em segundos que os resultados de uma solicitação de pré-voo (OPTIONS) podem ser armazenados em cache.

  6. Salve e teste.

    Se alguma configuração estiver incorreta, atualize-a e salve as alterações. Observe que as alterações podem levar algum tempo para entrar em vigor.

Para obter mais informações sobre como configurar CORS no OSS, consulte CORS.

Correção de caracteres ilegíveis

Caracteres ilegíveis em uma página acelerada por CDN geralmente são causados pelo cabeçalho de resposta Content-Type do servidor de origem não especificando uma codificação de caracteres. Para resolver esse problema, siga estas etapas:

  1. Faça login no console de Domain Names e localize o nome de domínio desejado.

  2. No painel de navegação à esquerda da página de detalhes do domínio, clique em Origin Fetch. Use o recurso "Modify Outgoing Response Header" para adicionar uma regra de cabeçalho de resposta para o caminho do arquivo, definindo Content-Type como text/plain; charset=utf-8.

  3. Acesse a página de atualização e pré-busca e atualize os recursos em cache do caminho para aplicar a nova regra.

Nota

Para garantir que este arquivo não seja armazenado em cache (evitando atrasos futuros de atualização), acesse Cache e defina o tempo de expiração do cache como 0 segundos para o seu caminho, como /llms.txt.

Configuração precisa de Content-Type

Se você definir globalmente o Content-Type como video/mp4 para um nome de domínio inteiro, isso afetará todos os tipos de recursos sob esse domínio, como arquivos de imagem, CSS e JS. Para evitar afetar outros arquivos, recomendamos que você use os seguintes métodos para uma configuração precisa:

  1. Correspondência por caminho: Em uma regra Modify Ingress Response Header, use as condições de regra em Origin Fetch para aplicar a regra apenas a caminhos de vídeo, como caminhos que contêm /vod-cd20e3/ ou possuem o sufixo .mp4.

  2. Uso de instruções condicionais: O console da CDN suporta a definição de cabeçalhos de resposta com base no sufixo da solicitação ou condições de Header, permitindo retornar Content-Type: video/mp4 apenas para arquivos .mp4.

Dessa forma, você pode modificar o Content-Type apenas para arquivos de vídeo, sem afetar outros tipos de recursos, como imagens.

Cabeçalho de resposta de vídeo

Você pode usar o recurso de modificação de cabeçalho de resposta de saída em Cache para configurar o cabeçalho de resposta Content-Disposition e controlar o comportamento de download ou visualização do vídeo:

  • Definir o valor como attachment; filename='video.mp4' solicita que o usuário baixe o recurso.

  • Definir o valor como inline visualiza o recurso diretamente no navegador.

Se a configuração não entrar em vigor, verifique o seguinte:

  1. Condições de correspondência do Rules Engine: Garanta que a condição de correspondência da regra tenha como alvo o caminho URI (por exemplo, que contenha /video-origin/20260414) e não apenas a string de consulta. O Rules Engine usa informações de caminho de uma solicitação de usuário para determinar se deve aplicar a configuração.

  2. Problemas de cache: Se a CDN já tiver armazenado o arquivo de vídeo em cache, ela pode ainda estar servindo o cabeçalho de resposta antigo. Acesse a página Refresh and Prefetch e atualize o cache do caminho para aplicar a nova configuração.

Arquivo JS servido como text/html

Causa:

Esse problema ocorre quando o servidor de origem retorna inicialmente um arquivo JS com o cabeçalho de resposta Content-Type definido incorretamente como text/html. Quando a CDN armazena esse tipo incorreto em cache, o navegador tenta analisar o arquivo como text/html na primeira solicitação, o que pode causar erros de renderização ou execução de script. Solicitações subsequentes são bem-sucedidas porque o servidor de origem corrigiu o Content-Type ou a CDN realiza uma busca na origem e recupera o tipo correto.

Solução:

  1. No console da CDN, configure uma regra para cabeçalhos de resposta de entrada para definir forçadamente o Content-Type para arquivos JS como application/javascript.

  2. Após configurar a regra, acesse a página Refresh and Prefetch e atualize o arquivo JS para aplicar a nova regra imediatamente.

Configurações de arquivo JS

Sim. Nas configurações de "Modify Inbound Response Header", você pode definir o Content-Type para arquivos JS como application/javascript. Essa configuração não afeta outros tipos de arquivo.

Para fazer isso, configure uma condição de regra para corresponder ao sufixo .js. Isso garante que o tipo MIME seja definido corretamente para arquivos JS sem afetar outros tipos de recursos, como CSS e imagens.

Modificação de cabeçalho de resposta e status do arquivo

Não. O recurso de modificação de cabeçalho de resposta corrige ou impõe um tipo MIME específico. Isso resolve problemas de cache causados quando a origem retorna um tipo incorreto. Você não pode usar este recurso para detectar arquivos ausentes na CDN ou verificar seu status de sincronização.

Para solucionar problemas de arquivos ausentes ou de sincronização, use os seguintes métodos:

  • Use o recurso refresh and prefetch no console da CDN para atualizar manualmente o arquivo desejado. Essa ação aciona uma busca na origem para verificar a existência do arquivo.

  • Verifique se o arquivo está acessível na sua origem.

  • Revise seus logs da CDN para confirmar um código de status de busca na origem bem-sucedido.