Ottimizzazione dell'efficacia dei contenuti

Ilya Grigorik
Ilya Grigorik

Le nostre applicazioni web continuano a crescere in termini di ambito, ambizione e funzionalità, il che è positivo. Tuttavia, l'incessante marcia verso un web più ricco è alla base di un'altra tendenza: la quantità di dati scaricati da ogni applicazione continua ad aumentare a un ritmo costante. Per offrire prestazioni ottimali dobbiamo ottimizzare la distribuzione di ogni singolo byte.

Che aspetto ha un'applicazione web moderna? HTTP Archive può aiutarci a rispondere a questa domanda. Il progetto monitora le modalità di creazione del web eseguendo periodicamente la scansione dei siti più popolari (oltre 300.000 inclusi nell'elenco dei Top 1 milione di Alexa) e registrando e aggregando dati e analisi relativi a numero di risorse, tipi di contenuti e altri metadati per ogni singola destinazione.

Tendenze dell'archivio HTTP

50° percentile 75° percentile 90° percentile
HTML 13 kB 26 kB 54 kB
Immagini 528 kB 1213 kB 2384 kB
JavaScript 207 kB 385 kB 587 kB
CSS 24 kB 53 kB 108 kB
Altro 282 kB 308 kB 353 kB
Totale 1054 kB 1985 kB 3486 kB

I dati sopra riportati indicano la tendenza di crescita del numero di byte scaricati da destinazioni popolari sul web tra gennaio 2013 e gennaio 2014. Naturalmente, non tutti i siti cresceranno allo stesso ritmo o richiedono la stessa quantità di dati, ecco il motivo per cui stiamo evidenziando i diversi quantili all'interno della distribuzione: 50° (mediana), 75° e 90°.

Un sito mediano all'inizio del 2014 è composto da 75 richieste che sommano fino a 1054 kB di byte trasferiti totali e il numero totale di byte (e richieste) è cresciuto a un ritmo costante durante l'anno precedente. Questo non dovrebbe sorprendere molto di per sé, ma comporta importanti implicazioni in termini di prestazioni: sì, la velocità di internet sta diventando sempre più veloce, ma a velocità diverse a seconda del paese. Inoltre, molti utenti sono ancora soggetti a limiti di dati e costosi piani di consumo, soprattutto sui dispositivi mobili.

A differenza delle controparti desktop, le applicazioni web non richiedono un processo di installazione separato: basta inserire l'URL e noi siamo subito operativi: si tratta di una caratteristica fondamentale del web. Tuttavia, affinché ciò accada, spesso dobbiamo recuperare decine, e a volte centinaia, di risorse diverse, tutte con una somma di megabyte di dati e centinaia di millisecondi per facilitare l'esperienza web istantanea a cui puntiamo.

Ottenere un'esperienza web istantanea alla luce di questi requisiti non è cosa da poco. Per questo motivo, ottimizzare l'efficienza dei contenuti è fondamentale: eliminare i download non necessari, ottimizzare la codifica di trasferimento di ogni risorsa attraverso varie tecniche di compressione e sfruttare la memorizzazione nella cache, ove possibile, per eliminare i download ridondanti.