La compressione dinamica comprime automaticamente le risposte fornite da Media CDN. Le dimensioni dei dati inviati sulla rete vengono ridotte dal 60% all'85% nei casi tipici.
La riduzione delle dimensioni accelera il download di asset importanti, come fogli di stile (CSS), script (JavaScript) e manifest video (HLS/DASH), il che può ridurre significativamente i tempi di caricamento pagina e di avvio del video.
Le playlist di video in diretta (manifest) di grandi dimensioni contengono una quantità significativa di dati e recuperi ripetuti, tra cui il prefisso host e percorso di ogni segmento, nonché i metadati della playlist HLS o DASH. Più rapido è il tempo di caricamento della playlist o di download degli aggiornamenti della playlist, minore sarà il tempo atteso da un client per analizzare e iniziare a scaricare i segmenti video a cui viene fatto riferimento. Le playlist HLS e DASH spesso subiscono una riduzione delle dimensioni totali di oltre il 90%.
Per saperne di più sui vantaggi della compressione delle risposte, consulta la guida Web Fundamentals.
Come funziona la compressione dinamica
Quando la compressione dinamica è abilitata, i contenuti comprimibili
forniti dall'origine possono essere compressi prima di essere forniti se il
client accetta uno degli algoritmi di compressione supportati (br o gzip).
Media CDN aggiunge un'intestazione Vary: Accept-Encoding a tutte le risposte idonee alla compressione. Per informazioni correlate, consulta
Contenuti non comprimibili.
Inoltre, se l'intestazione Accept-Encoding della richiesta indica una preferenza per i contenuti compressi specificando br o gzip (e includendo facoltativamente un parametro q diverso da zero), Media CDN esegue le seguenti operazioni:
Rimuove l'intestazione
Content-Lengthdalla risposta. Questa operazione è necessaria per consentire la pubblicazione della risposta il più rapidamente possibile perché la lunghezza completa dei contenuti non è nota finché l'intera risposta non è stata compressa. Per HTTP/1.1 e versioni precedenti, Media CDN utilizzaTransfer-Encoding: chunkednella risposta quando non utilizzaContent-Length.Dopo che una risposta è stata compressa e memorizzata nella cache, Media CDN può includere l'intestazione
Content-Lengthnelle risposte successive e impostare il valore sulla lunghezza del corpo dei contenuti compressi.Imposta
Accept-Rangessunone. In questo modo i client vengono informati che le richieste di intervallo per questa risorsa vengono ignorate.Rende deboli tutte le intestates di risposta forti
ETag, come richiesto da RFC 9110, sezione 8.8.3. Ad esempio,ETag: "xyzzy"viene sostituito conETag: W/"xyzzy".Imposta l'intestazione
Content-Encodingsubrogzip, che indica l'algoritmo di compressione scelto.Media CDN sceglie l'algoritmo di compressione migliore in base al rapporto di compressione previsto della risposta e alla velocità o al throughput di compressione.
La compressione Brotli viene utilizzata se il client la supporta, anche se altri algoritmi di compressione hanno valori
qpiù elevati nell'intestazioneAccept-Encoding.I manifest HLS vengono compressi utilizzando solo
gzip.
Media CDN determina il livello di compressione per bilanciare le dimensioni totali del download e il costo della CPU sul client. Livelli di compressione più elevati non sempre migliorano le prestazioni, soprattutto sui dispositivi mobili meno potenti.
Configurare la compressione dinamica
Puoi abilitare la compressione dinamica sulle route che gestiscono le richieste.
Prima di iniziare
Segui questi passaggi:
Identifica o crea un'origine Media CDN con contenuti comprimibili pronti per la pubblicazione.
Identifica o crea un servizio Media CDN con almeno una regola di route.
Abilitare la compressione dinamica per una regola di route
Per impostazione predefinita, la modalità di compressione per una regola di route è disabilitata.
Se imposti la modalità su automatica, la compressione dinamica viene abilitata per ogni risposta idonea. Inoltre, Media CDN viene istruito a scegliere automaticamente l'algoritmo di compressione migliore.
Per abilitare la compressione dinamica:
Console
Nella Google Cloud console, vai alla pagina Media CDN.
Per aprire la pagina Dettagli del servizio per cui vuoi configurare una regola di route, fai clic sul nome del servizio.
Per passare alla modalità di modifica, fai clic sul pulsante Modifica.
Per accedere alla sezione Routing, fai clic su Avanti.
Per modificare una regola host, fai clic sulla freccia per espanderla.
Per modificare una regola di route, fai clic su Modifica nella riga corrispondente.
Nel riquadro Modifica regola di route, fai clic su Configurazioni avanzate.
(Facoltativo) Per Azione route, aggiungi un elemento della policy CDN.
Una policy CDN consente a Media CDN di comprimere i contenuti una volta e pubblicarli più volte, risparmiando larghezza di banda e accelerando la distribuzione.
Nella sezione Compressione dinamica, seleziona Abilita compressione.
Per salvare la regola di route, fai clic su Salva.
Per salvare le modifiche al servizio, fai clic su Aggiorna servizio.
gcloud e YAML
Esporta la configurazione di Media CDN in un file YAML. Utilizza il
gcloud edge-cache services exportcomando.gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yamlSostituisci quanto segue:
SERVICE_NAME: il nome del servizioFILENAME: il nome del file YAML
Nella definizione della route nel file YAML, in
routeAction, impostacompressionModesuAUTOMATIC, come mostrato nel seguente esempio: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: cdnPolicy: defaultTtl: 5s compressionMode: AUTOMATICPer aggiornare il servizio, importa la configurazione di Media CDN dal file YAML. Utilizza il
gcloud edge-cache services importcomando.gcloud edge-cache services import SERVICE_NAME \ --source=