Os cabeçalhos de resposta de saída são componentes das mensagens de cabeçalho de resposta HTTP. Eles transportam parâmetros específicos para os clientes e permitem controlar diversos comportamentos, como cache, acesso cross-origin, tipos de conteúdo e métodos de download. Ao modificar esses cabeçalhos, quando usuários solicitam recursos em um nome de domínio acelerado, a mensagem de resposta retornada pelo CDN DCDN inclui os cabeçalhos configurados, habilitando funcionalidades como acesso cross-origin. É possível utilizar variáveis para um controle mais granular da configuração. Para mais informações, consulte {{XREF_0}}.
Informações básicas
Os cabeçalhos de resposta de saída representam um mecanismo do protocolo HTTP utilizado para gerenciar o cache. Quando um cliente solicita um recurso, os cabeçalhos de resposta HTTP retornados pelo nó permitem que o conteúdo seja armazenado em cache sob condições específicas.
A configuração de cabeçalhos de resposta HTTP ocorre no nível do domínio. Após entrar em vigor, ela se aplica às mensagens de resposta de todos os recursos associados a esse domínio.
Configurar cabeçalhos de resposta HTTP afeta apenas o comportamento de resposta do cliente (por exemplo, um navegador), sem alterar o comportamento de cache dos nós do CDN DCDN. Se o nome de domínio acelerado for um domínio curinga, não há suporte para a modificação de cabeçalhos de resposta de saída.
Cenários
Informar ao cliente o tipo de arquivo da resposta do CDN DCDN: Adicione o cabeçalho de resposta
Content-Type: text/htmlpara indicar que os arquivos retornados pelo CDN DCDN estão no formato HTML.Implementar acesso a recursos cross-origin: Ao solicitar recursos de um domínio no CDN DCDN, configure o cabeçalho de resposta
Access-Control-Allow-Originna mensagem retornada pelo CDN DCDN para permitir o acesso cross-origin. Para mais detalhes, consulte {{XREF_1}}. O Alibaba Cloud CDN DCDN também valida requisições cross-origin recebidas com base nas regras CORS definidas, oferecendo maior flexibilidade no controle de acesso.Downloads de arquivos: Ao acessar arquivos do OSS por meio de um domínio acelerado pela CDN, o navegador exibe uma prévia por padrão. Adicione
Content-Disposition: attachmentaos cabeçalhos de resposta de saída para forçar o download dos arquivos em vez da visualização.Personalizar o comportamento de resposta: Adicione ou altere informações de cabeçalho personalizadas conforme as necessidades do negócio para ajustar o conteúdo e o formato das respostas recebidas pelos clientes.
Observações
-
Múltiplas configurações são processadas de cima para baixo, seguindo a ordem apresentada na lista. Os efeitos são cumulativos. Caso diferentes configurações modifiquem o mesmo cabeçalho, a última terá precedência. No exemplo abaixo, a Configuração 2 é a que prevalece:
Configuração 1: Adicionar o cabeçalho de resposta HTTP:
cache-control: max-age=3600Configuração 2: Adicionar o cabeçalho de resposta HTTP:
cache-control: no-cache
Quando condições de regra são aplicadas, a correspondência segue a prioridade das condições, e não a ordem das configurações.
A CDN não permite excluir ou modificar cabeçalhos de resposta reservados pelo sistema, como Via e EagleId. Esses cabeçalhos registram informações sobre os nós da CDN. Mesmo que você configure sua exclusão ou alteração, a mudança não será aplicado e o sistema manterá as informações do último nó.
Após a modificação das configurações de cabeçalhos de resposta de saída, as alterações geralmente entram em vigor dentro de 5 minutos. Não é necessário realizar prefetch dos recursos novamente (o prefetch não altera os cabeçalhos de resposta de recursos já armazenados em cache).
Procedimento
Faça login no CDN console.
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 Manage na coluna Actions.
No painel de navegação do domínio, clique em Cache.
Clique na aba Modify outbound response headers.
-
Clique em Customize para modificar os cabeçalhos de resposta de saída.
O exemplo a seguir descreve como adicionar um cabeçalho de resposta de saída.
Parâmetro
Descrição
Operation
Adiciona, exclui, altera ou substitui os cabeçalhos de resposta especificados.
Response Header
Selecione um parâmetro de cabeçalho de resposta personalizado. Para mais informações, consulte {{XREF_2}}.
Header Name
Quando o parâmetro de cabeçalho de resposta personalizado estiver definido como Custom, é necessário configurar um nome para o cabeçalho. Os requisitos para nomes de cabeçalhos personalizados são:
Composto por letras maiúsculas, minúsculas, hifens e dígitos.
Comprimento entre 1 e 100 caracteres.
Header Value
Insira o valor do cabeçalho de resposta desejado. Para mais informações, consulte {{XREF_3}}.
Allow Duplicates
Yes: Mantém o cabeçalho retornado pelo servidor de origem e adiciona outro com o mesmo nome.
No: O cabeçalho retornado pelo servidor de origem é sobrescrito pelo novo cabeçalho configurado com o mesmo nome.
CORS
A validação CORS está desativada por padrão. Só é possível configurá-la quando Operation estiver definido como "Add" e Response Header como "Access-Control-Allow-Origin".
Enable: Com a validação CORS ativada, os nós da CDN verificam as requisições cross-origin dos usuários conforme as regras estabelecidas e respondem com o valor de "Access-Control-Allow-Origin" baseado no resultado dessa verificação.
Disable: Com a validação CORS desativada, os nós da CDN não verificam o cabeçalho Origin presente nas requisições dos usuários e respondem apenas com o valor configurado para Access-Control-Allow-Origin.
Para detalhes sobre as regras de validação CORS, consulte {{XREF_4}}.
Rule Condition
As Condições de Regra identificam vários parâmetros nas requisições dos usuários para determinar se uma configuração deve ser aplicada.
ImportanteAo referenciar condições de regra, o sistema realiza a correspondência com base na prioridade das condições associadas, e não na ordem de configuração dos recursos.
Não usar: Não utilize condições de regra.
Para adicionar ou editar condições de regra, gerencie-as em {{XREF_5}}{{XREF_6}}.
-
Clique em OK para concluir a configuração.
Após modificar com sucesso os cabeçalhos de resposta de saída, você poderá executar operações de Modify ou Delete na configuração atual dentro da lista de cabeçalhos de resposta de saída POP HTTP Response Header.
Exemplo de configuração: Definir Cache-Control:no-cache para arquivos PDF
Caso deseje que o cliente realize negociação de cache para arquivos PDF (verificando com os nós da CDN se houve atualização a cada requisição), utilize o mecanismo de regras:
Ao Customize uma configuração de cabeçalho de resposta de saída, opte por usar Rule Condition.
Defina a condição de correspondência para extensão de arquivo contendo
.pdf.Configure a ação para modificar os cabeçalhos de resposta de saída e adicione
cache-control:no-cache.
Essa configuração afeta somente os cabeçalhos de resposta que a CDN retorna ao cliente, fazendo com que ele realize a negociação de cache, mas não altera a política de cache dos nós da CDN para os arquivos PDF.
Regras de validação CORS
Os itens de configuração Allow Duplicates e CORS são mutuamente exclusivos. Se Allow Duplicates estiver definido como Yes, a validação CORS perde o efeito.
Correspondência por curinga: Se o valor do parâmetro de cabeçalho de resposta personalizado
Access-Control-Allow-Originfor definido como*, o sistema sempre retornaráAccess-Control-Allow-Origin:*, independentemente de a requisição do usuário conter o parâmetroOriginou do valor desse parâmetroOrigin.-
Correspondência exata: O valor do parâmetro de cabeçalho de resposta personalizado
Access-Control-Allow-Originé definido com um ou mais valores (separe múltiplos valores com,).Se o valor do parâmetro
Originno cabeçalho da requisição do usuário corresponder exatamente a qualquer um dos valores configurados, o cabeçalho cross-origin respectivo será retornado.Caso não haja correspondência exata, nenhum cabeçalho cross-origin será retornado.
Correspondência por domínio curinga: Se o valor do parâmetro de cabeçalho de resposta personalizado
Access-Control-Allow-Originfor um domínio curinga, o sistema validará se o valor de Origin no cabeçalho da requisição corresponde ao domínio curinga definido emAccess-Control-Allow-Origin.
Para obter instruções sobre como definir essas configurações, consulte {{XREF_7}}.
Parâmetros de cabeçalho de resposta
Parâmetro do cabeçalho de resposta | Descrição | Exemplo |
Custom | Permite adicionar cabeçalhos de resposta personalizados. Os requisitos para os nomes são:
| Test-Header |
Cache-Control | Define o mecanismo de cache que as requisições e respostas do programa cliente devem seguir. | no-cache |
Content-Disposition | Especifica o nome de arquivo padrão sugerido quando o programa cliente salva o conteúdo obtido de uma requisição como um arquivo. | examplefile.txt |
Content-Type | Indica o tipo de conteúdo do objeto de resposta do programa cliente. | text/plain |
Pragma | Pragma é um cabeçalho geral definido no HTTP/1.0. Geralmente é usado nas respostas do servidor para determinar o comportamento de cache do cliente para arquivos. | no-cache |
Access-Control-Allow-Origin |
|
|
Access-Control-Allow-Methods | Especifica os métodos de requisição cross-origin permitidos. Separe múltiplos métodos com vírgulas ( | POST,GET |
Access-Control-Allow-Headers | Define os campos de requisição cross-origin permitidos. | X-Custom-Header |
Access-Control-Expose-Headers | Lista as informações de cabeçalho personalizadas que podem ser acessadas. | Content-Length |
Access-Control-Allow-Credentials | Indica se a resposta a uma requisição pode ser exposta à página.
| true |
Access-Control-Max-Age | Define a duração do cache do resultado da requisição preflight para um recurso específico do programa cliente. Unidade: segundos. | 600 |
Content-Security-Policy | Configura uma Política de Segurança de Conteúdo (CSP) para controlar quais recursos uma página pode carregar, defendendo contra ameaças como ataques XSS e injeção de dados. A CDN não realiza validação semântica do conteúdo da política CSP, verificando apenas o formato básico do cabeçalho de resposta HTTP. O conteúdo da política deve ser uma string de linha única, sem quebras de linha, caracteres de controle inválidos ou aspas não escapadas. Não inclua as aspas duplas externas. Recomendamos testar a política nas ferramentas de desenvolvedor do navegador antes de inseri-la, ou configurar a CSP no servidor de origem para que a CDN apenas a repasse. | default-src 'self'; script-src 'self' 'unsafe-inline' |
Permissions-Policy | Configura políticas de permissões para controlar o acesso a recursos específicos do navegador, como câmera, microfone e geolocalização. | camera=(), microphone=() |
O valor do cabeçalho de resposta pode ser definido como
*, representando qualquer origem.Se o valor do cabeçalho de resposta não for
*, configure um ou mais endereços IP, um ou mais nomes de domínio, ou uma combinação de ambos. Separe-os com vírgulas (,).Quando o valor do cabeçalho de resposta não for
*, ele deverá incluir o prefixo de protocolohttp://ouhttps://.O valor do cabeçalho de resposta pode conter portas.
Há suporte para nomes de domínio curinga no valor do cabeçalho de resposta.
Diferenças entre cabeçalhos de resposta de saída e de entrada
Os cabeçalhos de resposta de saída e de entrada atuam em etapas distintas do processo de cache. Antes de configurar um cabeçalho de resposta, confirme o alvo:
Cabeçalhos de resposta de saída (cabeçalhos de resposta HTTP do nó): Cabeçalhos enviados dos nós da CDN para os clientes, como navegadores. Se um nó possuir conteúdo em cache, ele o retorna diretamente ao cliente sem buscar na origem. Esse tipo de cabeçalho controla o comportamento de cache entre o cliente e o nó da CDN.
Cabeçalhos de resposta de entrada (cabeçalhos de resposta HTTP de busca na origem): Cabeçalhos enviados do servidor de origem para os nós da CDN. Quando o cache de um nó expira ou ocorre uma falha de cache, o nó solicita o conteúdo mais recente ao servidor de origem. Os cabeçalhos retornados pelo servidor de origem são os cabeçalhos de entrada. Eles servem para controlar o comportamento de cache entre o servidor de origem e o nó da CDN.
Alterações nos cabeçalhos de resposta de entrada (como modificar o campo de domínio do Set-Cookie) afetam apenas a comunicação entre o servidor de origem e os nós da CDN, permanecendo invisíveis para os usuários finais. Para influenciar as respostas recebidas pelos usuários finais, configure os cabeçalhos de resposta de saída. Se os cabeçalhos de saída ainda não surtirem efeito, recomenda-se modificar os cabeçalhos de resposta diretamente no servidor de origem.
Configuração em lote para múltiplos nomes de domínio
É possível adicionar configurações de cabeçalhos de resposta de saída a vários nomes de domínio em lote. Chame a operação da API BatchSetCdnDomainConfig para configurar os domínios em massa, definindo as regras para adição de cabeçalhos de resposta através dos parâmetros de função da operação.
Tempo de vigência das configurações
As configurações geralmente entram em vigor dentro de 5 minutos. Antes disso, o status é exibido como Configuring, o que é normal.
Perguntas frequentes
Para saber como solucionar problemas, como configurações de cabeçalho de resposta que não entram em vigor, consulte {{XREF_8}}.