Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Content Delivery Network> Guia de usuário> Configurações de nome de domínio> Configurações avançadas> Configurações de cabeçalho HTTP (solicitações de origem cruzada)
Atualizado em 2022-12-26 GMT+08:00

Configurações de cabeçalho HTTP (solicitações de origem cruzada)

Cabeçalhos HTTP são parte de uma solicitação HTTP ou mensagem de resposta que definem os parâmetros operacionais de uma transação HTTP.

O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo que permite o acesso de origem cruzada. Quando o site A acessa recursos no site B, uma solicitação de origem cruzada é enviada. Se o site B não permitir que o site A acesse os recursos, ocorrerá um problema entre domínios. Nesse caso, você pode configurar as configurações do cabeçalho HTTP e adicionar cabeçalhos personalizados nas mensagens de resposta retornadas ao solicitante para implementar funções como CORS.

Precauções

A configuração do cabeçalho HTTP é específica do nome de domínio. Quando uma nova configuração entra em vigor, as mensagens de resposta serão adicionadas aos cabeçalhos usados para quaisquer recursos dentro de todo o domínio. No entanto, a configuração de cabeçalho HTTP afeta apenas o comportamento de resposta dos clientes (navegadores). Eles não afetam o comportamento do cache de nós CDN.

Cabeçalhos de resposta suportados

A CDN da Huawei Cloud permite que você personalize os seguintes cabeçalhos de resposta HTTP diferentes:

  • Content-Disposition

    O cabeçalho Content-Disposition pode iniciar um download no lado do cliente e especificar o nome do arquivo a ser baixado.

    Quando um servidor envia um arquivo para um navegador, desde que o formato do arquivo seja suportado (por exemplo, TXT ou JPG), o arquivo é aberto usando o navegador por padrão. Se o arquivo precisar ser tratado como um anexo e salvo com um nome de arquivo específico, você poderá usar o campo de cabeçalho Content-Disposition para especificar esse requisito.

    Se você usar um bucket do OBS criado após 1o de janeiro de 2022 como o servidor de origem e quiser ativar a visualização on-line, defina Content-Disposition como inline. Para obter detalhes, consulte Como faço para visualizar objetos no OBS através de um navegador?

  • Content-Language

    O cabeçalho Content-Language especifica o idioma preferido ou a combinação de idiomas do navegador. O conteúdo pode ser personalizado para diferentes usuários.

  • Access-Control-Allow-Origin

    O cabeçalho Access-Control-Allow-Origin carrega os nomes de domínio permitidos para o CORS após a autenticação do servidor. Para uma simples solicitação CORS, o navegador determina se o conteúdo do recurso solicitado deve ser retornado ao cliente com base nesse cabeçalho de mensagem. Para uma solicitação de pré-verificação, o navegador determina se deve iniciar uma solicitação CORS real para o servidor com base nesse cabeçalho da mensagem.

    Para evitar erros entre domínios causados pelo cache do navegador, limpe o cache do navegador depois de configurar o Access-Control-Allow-Origin.

  • Access-Control-Allow-Methods

    O cabeçalho Access-Control-Allow-Methods carrega os métodos que são permitidos para o acesso CORS após a autenticação do servidor. Para uma simples solicitação CORS, o navegador determina se o conteúdo do recurso solicitado deve ser retornado ao cliente com base nesse cabeçalho de mensagem. Para uma solicitação de pré-verificação, o navegador determina se deve iniciar uma solicitação CORS real para o servidor com base nesse cabeçalho da mensagem.

  • Access-Control-Max-Age

    O cabeçalho Access-Control-Max-Age determina por quanto tempo os resultados de pré-verificação para solicitações CORS permitidas pelo servidor podem ser armazenados em cache. O navegador determina a idade máxima do cache para os resultados da solicitação de pré-verificação com base nesse cabeçalho da mensagem. Desde que o período definido por esse cabeçalho não tenha expirado, o navegador pode determinar se deve iniciar uma solicitação CORS ao servidor com base nos resultados. Uma vez que esse período expira, o navegador precisa enviar outra solicitação de pré-verificação para o servidor.

  • Access-Control-Expose-Headers

    Access-Control-Expose-Headers especifica os cabeçalhos de resposta que o navegador pode expor ao cliente. Você pode usar esse campo para definir os cabeçalhos de resposta visíveis para o cliente. Os seguintes cabeçalhos de resposta são visíveis para o cliente por padrão: Cache-Control, Content-Language, Content-Type, Expires, Last-Modified e Pragma.

  • Personalizado

    Se os cabeçalhos de resposta anteriores não puderem atender às suas necessidades, você poderá criar cabeçalhos de resposta. Um cabeçalho de resposta personalizado pode conter de 1 a 100 caracteres, começando com uma letra e consistindo em letras, dígitos e hífens (-).

Procedimento

  1. Efetue login no console de CDN.
  2. No painel de navegação, escolha Domains.
  3. Na lista de domínios, clique no nome de domínio de destino ou clique em Configure na coluna Operation.
  4. Clique na guia Advanced Settings.
  5. Na área HTTP Header, clique em Edit. A caixa de diálogo Configure HTTP Header é exibida.

  6. Clique em Add e selecione uma operação de cabeçalho de resposta na lista suspensa.

    Operação de cabeçalho de resposta

    Descrição

    Definir

    • Se o cabeçalho já existir na resposta, o valor do cabeçalho configurado substituirá o original.
    • Se o cabeçalho não existir na resposta, o cabeçalho será adicionado à resposta.

    Excluir

    O cabeçalho será excluído da resposta.

    • Alguns cabeçalhos não podem ser definidos ou excluídos. Para mais detalhes, consulte Restrições.
    • Você pode adicionar até 10 configurações de cabeçalho de resposta HTTP.
  7. Defina o parâmetro e o valor do cabeçalho.

    Parâmetro

    Descrição

    Valor de exemplo

    Content-disposition

    Inicia um download no lado do cliente e especifica o nome do arquivo a ser baixado.

    Requisitos de valor: para uma configuração típica, veja o exemplo à direita.

    attachment;filename=FileName.xls

    Content-Language

    Especifica o idioma da página de resposta do cliente.

    Requisitos de valor: para uma configuração típica, veja o exemplo à direita.

    zh-CN

    en-US

    Access-Control-Allow-Origin

    Especifica os URLs de domínio estrangeiro (origens de solicitação) que têm permissão para acessar o recurso no compartilhamento de recursos de origem cruzada (CORS).

    Requisitos de valor:

    • digite até 256 caracteres para um URL.
    • Um URL deve começar com http:// ou https://.
    • Se isso for definido como *, não serão os permitidos URLs após o curinga (*).

    Exemplo 1:

    https://www.example.com

    Exemplo 2:

    *

    NOTA:

    Nomes de domínio curinga não são suportados.

    Access-Control-Allow-Methods

    Especifica os métodos de solicitação HTTP que podem ser usados em uma solicitação CORS.

    Requisitos de valor: vários métodos podem ser configurados ao mesmo tempo. Separe-os com vírgulas (,).

    GET, POST, HEAD

    Access-Control-Max-Age

    Especifica por quanto tempo armazenar em cache os resultados de pré-verificação de solicitações CORS em recursos específicos.

    Requisitos de valor: este valor é expresso em segundos. O intervalo de valores é 1-1000000000.

    86400

    Access-Control-Expose-Headers

    Especifica as informações do cabeçalho de resposta visíveis para o cliente de uma solicitação CORS.

    Requisitos de valor: vários cabeçalhos podem ser configurados ao mesmo tempo. Separe-os com vírgulas (,).

    Content-Length, Content-Encoding

    Personalizado

    Especifica o cabeçalho de resposta personalizado para uma solicitação CORS.

    Requisitos de valor: digite até 256 caracteres, que podem conter letras, dígitos, espaços e caracteres especiais (.-_*#! %&+|^-'"/:;,=@?).

    x-testcdn

  8. Clique em OK.

Restrições

  • Se o seu nome de domínio tiver configurações especiais, Content-Type, Cache-Control e Expires não poderão ser configurados.
  • Os seguintes cabeçalhos de resposta podem ser modificados, mas não podem ser excluídos.

    Content-Base

    Content-Disposition

    Server

    Content-Language

  • CDN não suporta os seguintes cabeçalhos de resposta:

    A_Dynamic

    If-None-Match

    Sec-WebSocket-Origin

    X-Forward-Peer

    Accept-Ranges

    If-Range

    Sec-WebSocket-Protocol

    X-Forward-Type

    Age

    Keep-Alive

    Sec-WebSocket-Version

    X-Forward-Uri

    Allow

    Key

    Set-Cookie

    X-Forwarded-For

    Authentication-Info

    Last-Modified

    Tcp-Retrans

    X-IP-Region

    Authorization

    Link

    Title

    X-IP-Region-CN

    X-Forward-Measured

    Location

    Transfer-Encoding

    X-Ip-Blackwhite-List

    Cdn-Qos

    Max-Forwards

    Upgrade

    X-Local-Ip

    Cdn-Server-Ip

    Meter

    Vary

    X-Log-Url

    Cdn-Src-Ip

    Mime-Version

    Via

    X-MAA-Alias

    Conf-Err-Host

    Negotiate

    WWW-Authenticate

    X-MAA-Auth

    Conf-File

    Origin

    Warning

    X-Max-Conns

    Conf-File-List

    Partition-Block-Size

    Ws-Hdr

    X-Mem-Url

    Conf-Option

    Pragma

    WsTag

    X-Mgr-Traffic

    Conf-Other

    Proxy-Authenticate

    X-Accelerator-Vary

    X-Miss-Rate-Limit

    Connection

    Proxy-Authentication-Info

    X-Appa

    X-Miss-Times-Limit

    Content-Encoding

    Proxy-Authorization

    X-Appa-Origin

    X-No-Referer

    Content-Length

    Proxy-Connection

    X-Black-List

    X-Query-Key

    Content-Location

    Proxy-Support

    X-Bwctrl-Limit

    X-Rate-Limit

    Content-MD5

    Public

    X-Bwctrl-Para

    X-Refresh-Pattern

    Content-Range

    Purge-Domain

    X-Cache

    X-Request-Id

    Sec-WebSocket-Nonce

    Purge-Extra

    X-Cache-2

    X-Request-Uri

    Date

    Range

    X-Cache-Lookup

    X-Request-Url

    Dynamic

    Request-Range

    X-Cacheable

    X-Resp-Time

    ETag

    Retry-After

    X-Cdn-Src-Port

    X-Rewrite-Url

    Error

    Sec-WebSocket-Accept

    X-Client-Ip

    X-Squid-Error

    Expect

    Sec-WebSocket-Draft

    X-DNS-Time

    X-Times-Limit

    If-Modified-Since

    Sec-WebSocket-Extensions

    X-Denyattack-Dynconf

    X-Url-Blackwhite-List

    From

    Sec-WebSocket-Key

    X-Error-Status

    X-Via-CDN

    Front-End-Https

    Sec-WebSocket-Key1

    X-Error-URL

    X-White-List

    Host

    Sec-WebSocket-Key2

    X-Forward-Host

    -

    If-Match

    Sec-WebSocket-Location

    X-Forward-Ip

    -