Nos applications Web continuent de se développer en termes de portée, d'ambition et de fonctionnalités, ce qui est une bonne chose. Cependant, la marche implacable vers un Web plus riche entraîne une autre tendance : la quantité de données téléchargées par chaque application continue d'augmenter à un rythme soutenu. Pour offrir d'excellentes performances, nous devons optimiser la diffusion de chaque octet.
À quoi ressemble une application Web moderne ? HTTP Archive peut nous aider à répondre à cette question. Le projet suit la façon dont le Web est construit en explorant périodiquement les sites les plus populaires (plus de 300 000 sites de la liste Alexa Top 1M), et en enregistrant et en agrégeant des analyses sur le nombre de ressources, les types de contenu et d'autres métadonnées pour chaque destination individuelle.

Les données ci-dessus illustrent la tendance de croissance du nombre d'octets téléchargés pour les destinations populaires sur le Web entre janvier 2013 et janvier 2014. Bien sûr, tous les sites ne se développent pas au même rythme ni ne nécessitent la même quantité de données. C'est pourquoi nous mettons en évidence les différents quantiles de la distribution : 50e (médiane), 75e et 90e.
Un site médian au début de l'année 2014 est composé de 75 requêtes qui totalisent 1 054 Ko d'octets transférés, et le nombre total d'octets (et de requêtes) a augmenté à un rythme régulier tout au long de l'année précédente. En soi, cela n'a rien de surprenant, mais cela a des conséquences importantes sur les performances : oui, les débits Internet augmentent, mais à des rythmes différents selon les pays, et de nombreux utilisateurs sont toujours soumis à des limites de données et à des forfaits mesurés coûteux, en particulier sur mobile.
Contrairement à leurs équivalents pour ordinateur, les applications Web ne nécessitent pas de processus d'installation distinct : il suffit de saisir l'URL pour qu'elles soient opérationnelles. C'est l'une des principales caractéristiques du Web. Cependant, pour y parvenir, nous devons souvent récupérer des dizaines, voire des centaines, de ressources diverses, qui peuvent toutes représenter des mégaoctets de données et doivent être rassemblées en quelques centaines de millisecondes pour faciliter l'expérience Web instantanée que nous visons.
Offrir une expérience Web instantanée compte tenu de ces exigences n'est pas une mince affaire. C'est pourquoi il est essentiel d'optimiser l'efficacité du contenu : éliminer les téléchargements inutiles, optimiser l'encodage de transfert de chaque ressource via diverses techniques de compression et exploiter la mise en cache chaque fois que possible pour éliminer les téléchargements redondants.