Ativar a compactação dinâmica

A compactação dinâmica compacta automaticamente as respostas disponibilizadas pelo Media CDN. O tamanho dos dados enviados pela rede é reduzido de 60% para 85% nos casos típicos.

A redução de tamanho acelera o download de recursos importantes, como folhas de estilo (CSS), scripts (JavaScript) e manifestos de vídeo (HLS/DASH), o que pode reduzir significativamente os tempos de carregamento de página e de início do vídeo.

Playlists de vídeo ao vivo grandes (manifestos) têm uma quantidade significativa de dados e buscas repetidos, incluindo o host e o prefixo de caminho de cada segmento, bem como os metadados de playlist HLS ou DASH. Quanto mais rápido o download ou a atualização da playlist forem feitos, menor será o tempo de espera do cliente para a análise e o início do download dos segmentos de vídeo referenciados. As playlists HLS e DASH geralmente passam por uma redução total de tamanho de mais de 90%.

Para mais informações sobre os benefícios da compactação de respostas, consulte o Guia de fundamentos da Web.

Como funciona a compactação dinâmica

Quando a compactação dinâmica está ativada, o conteúdo compactável disponibilizado pela origem pode ser compactado antes de ser entregue se o cliente aceitar um dos algoritmos de compactação compatíveis (br ou gzip).

O Media CDN adiciona um cabeçalho Vary: Accept-Encoding a todas as respostas qualificadas para compactação. Para informações relacionadas, consulte Conteúdo não compactável.

Além disso, se o cabeçalho Accept-Encoding da solicitação indicar uma preferência por conteúdo compactado especificando br ou gzip (e, opcionalmente, incluindo um parâmetro q diferente de zero), o Media CDN fará o seguinte:

  • Remove o cabeçalho Content-Length da resposta. Isso é necessário para que a resposta seja disponibilizada o mais rápido possível, porque o comprimento total do conteúdo é desconhecido até que toda a resposta seja compactada. Para HTTP/1.1 e anteriores, o Media CDN usa Transfer-Encoding: chunked na resposta quando não usa Content-Length.

    Depois que uma resposta for compactada e armazenada em cache, o Media CDN poderá incluir o cabeçalho Content-Length nas respostas subsequentes e definir o valor como o comprimento do conteúdo do corpo compactado.

  • Define Accept-Ranges como none. Isso informa aos clientes que as solicitações de intervalo para esse recurso são ignoradas.

  • Enfraquece todos os cabeçalhos de resposta ETag fortes, conforme exigido pela seção 8.8.3 da RFC 9110. Por exemplo, ETag: "xyzzy" é substituído por ETag: W/"xyzzy".

  • Define o cabeçalho Content-Encoding como br ou gzip, que significa o algoritmo de compactação escolhido.

    O Media CDN escolhe o melhor algoritmo de compactação com base na proporção de compactação prevista da resposta e na velocidade ou capacidade de processamento da compactação.

    • A compactação Brotli é usada se o cliente a oferecer suporte, mesmo que outros algoritmos de compactação tenham valores q mais altos no cabeçalho Accept-Encoding.

    • Os manifestos de HLS são compactados usando apenas gzip.

    O Media CDN determina o nível de compactação para equilibrar o tamanho total do download e o custo da CPU no cliente. Níveis de compactação mais altos nem sempre beneficiam o desempenho, especialmente em dispositivos móveis com menor consumo de energia.

Configurar a compactação dinâmica

É possível ativar a compactação dinâmica em rotas que atendem a solicitações.

Antes de começar

Faça o seguinte:

Ativar a compactação dinâmica para uma regra de rota

Por padrão, o modo de compactação de uma regra de rota está desativado.

Definir o modo como automático ativa a compactação dinâmica para todas as respostas qualificadas. Além disso, instrui o Media CDN a escolher automaticamente o melhor algoritmo de compactação.

Para ativar a compactação dinâmica, faça o seguinte:

Console

  1. No Google Cloud console do, acesse a página Media CDN.

    Acesse Media CDN

  2. Para abrir a página Detalhes do serviço para o qual você quer configurar uma regra de rota, clique no nome do serviço.

  3. Para mudar para o modo de edição, clique no botão Editar.

  4. Para navegar até a seção Roteamento, clique em Próxima.

  5. Para editar uma regra de host, clique na seta para expandi-la.

  6. Para editar uma regra de rota, clique em Editar na linha correspondente.

  7. No painel Editar regra de rota, clique em Configurações avançadas.

  8. Opcional: em Rota de ação, adicione um política de CDN item.

    Uma política de CDN permite que o Media CDN compacte o conteúdo uma vez e o disponibilize várias vezes, o que economiza largura de banda e acelera a entrega.

  9. Na seção Compactação dinâmica, selecione Ativar compactação.

  10. Para salvar a regra de rota, clique em Salvar.

  11. Para salvar as alterações no serviço, clique em Atualizar serviço.

gcloud e YAML

  1. Exporte a configuração do Media CDN para um arquivo YAML. Use o gcloud edge-cache services export comando.

    gcloud edge-cache services export SERVICE_NAME \
        --destination=FILENAME.yaml
    

    Substitua:

    • SERVICE_NAME: o nome do serviço;
    • FILENAME : o nome do arquivo YAML.
  2. Na definição de rota no arquivo YAML, em routeAction, defina compressionMode como AUTOMATIC, conforme mostrado no exemplo a seguir:

    routing:
    hostRules:
    - hosts:
      - media.example.com
      pathMatcher: routes
    pathMatchers:
    - name: routes
      routeRules:
        - priority: 2
    origin: origin1
    matchRules:
    - pathTemplateMatch: "/**.m3u8" # HLS playlists
    - pathTemplateMatch: "/**.mpd" # DASH manifests
    routeAction: