Nos applications Web ne cessent de s'étendre, d'être ambitieuses et de proposer de nouvelles fonctionnalités. C'est une bonne chose. Cependant, la marche inexorable 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 régulier. 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 régulièrement les sites les plus populaires (plus de 300 000 sites de la liste Alexa Top 1 million), et en enregistrant et en agrégant des données analytiques sur le nombre de ressources, de types de contenu et d'autres métadonnées pour chaque destination.
Les données ci-dessus reflètent l'évolution 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 connaissent pas la même croissance ni ne nécessitent la même quantité de données. C'est pourquoi nous mettons en avant les différents quantiles de la distribution: 50e (médiane), 75e et 90e.
Au début de l'année 2014, un site médian était composé de 75 requêtes représentant 1 054 ko d'octets transférés au total. Le nombre total d'octets (et de requêtes) a augmenté à un rythme régulier au cours de l'année précédente. Cela ne devrait pas être si surprenant, mais cela a des conséquences importantes sur les performances: oui, les vitesses Internet augmentent, mais à des vitesses différentes selon les pays, et de nombreux utilisateurs sont toujours soumis à des plafonds de données et à des forfaits limités coûteux, en particulier sur mobile.
Contrairement à leurs homologues pour ordinateur, les applications Web ne nécessitent pas de processus d'installation distinct: saisissez l'URL et vous êtes prêt à partir. C'est une caractéristique clé du Web. Toutefois, pour y parvenir, nous devons souvent extraire des dizaines, voire des centaines de ressources différentes, qui peuvent représenter plusieurs mégaoctets de données et qui doivent être réunies en quelques centaines de millisecondes pour faciliter l'expérience Web instantanée que nous recherchons.
Atteindre une expérience Web instantanée compte tenu de ces exigences n'est pas une mince affaire. C'est pourquoi l'optimisation de l'efficacité des contenus est essentielle: éliminez les téléchargements inutiles, optimisez l'encodage de transfert de chaque ressource à l'aide de diverses techniques de compression et exploitez le cache autant que possible pour éliminer les téléchargements redondants.