Le nostre applicazioni web continuano a crescere in termini di portata, ambizione e funzionalità, il che è un bene. Tuttavia, la marcia inarrestabile verso un web più ricco sta guidando un'altra tendenza: la quantità di dati scaricati da ogni applicazione continua ad aumentare a un ritmo costante. Per offrire prestazioni eccellenti, 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 il modo in cui viene creato il web eseguendo periodicamente la scansione dei siti più popolari (oltre 300.000 dall'elenco Alexa Top 1M) e registrando e aggregando i dati di analisi sul numero di risorse, tipi di contenuti e altri metadati per ogni singola destinazione.

I dati riportati sopra mostrano la tendenza di crescita del numero di byte scaricati per le destinazioni più popolari sul web tra gennaio 2013 e gennaio 2014. Naturalmente, non tutti i siti crescono allo stesso ritmo o richiedono la stessa quantità di dati, motivo per cui evidenziamo i diversi quantili all'interno della distribuzione: 50° (mediana), 75° e 90°.
Un sito medio all'inizio del 2014 è composto da 75 richieste che sommano 1054 kB di byte totali trasferiti e il numero totale di byte (e richieste) è cresciuto a un ritmo costante nel corso dell'anno precedente. Questo di per sé non dovrebbe sorprendere, ma ha importanti implicazioni sulle prestazioni: sì, le velocità di internet stanno aumentando, ma a ritmi diversi in paesi diversi e molti utenti sono ancora soggetti a limiti di dati e piani a consumo costosi, soprattutto sui dispositivi mobili.
A differenza delle loro controparti desktop, le applicazioni web non richiedono un processo di installazione separato: inserisci l'URL e sei subito operativo. Questa è una caratteristica fondamentale del web. Tuttavia, per farlo, spesso dobbiamo recuperare decine, e talvolta centinaia, di risorse diverse, che possono arrivare a megabyte di dati e devono essere riunite in centinaia di millisecondi per facilitare l'esperienza web istantanea a cui miriamo.
Ottenere un'esperienza web istantanea alla luce di questi requisiti non è un'impresa da poco, motivo per cui l'ottimizzazione dell'efficienza dei contenuti è fondamentale: eliminare i download non necessari, ottimizzare la codifica di trasferimento di ogni risorsa tramite varie tecniche di compressione e sfruttare la memorizzazione nella cache quando possibile per eliminare i download ridondanti.