Nos applications Web continuent de se développer en termes de portée, d'ambition et de fonctionnalité. Et c'est une bonne chose. Cependant, la marche incessante vers un Web plus riche est à l'origine d'une autre tendance: la quantité de données téléchargées par chaque application continue d'augmenter à un rythme constant. Pour offrir d'excellentes performances, nous devons optimiser la distribution de chaque octet !
À quoi ressemble une application Web moderne ? HTTP Archive peut nous aider à répondre à cette question. Le projet suit la conception du Web en explorant périodiquement les sites les plus populaires (plus de 300 000 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 capturent la tendance de la croissance du nombre d'octets téléchargés pour les destinations populaires sur le Web entre janvier 2013 et janvier 2014. Bien entendu, tous les sites ne se développent pas au même rythme ou ne nécessitent pas 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.
Au début de l'année 2014, un site médian se compose de 75 requêtes qui totalisent jusqu'à 1 054 Ko d'octets transférés, et le nombre total d'octets (et de requêtes) a augmenté à un rythme constant tout au long de l'année précédente. Cela n'est pas vraiment surprenant, mais cela a des conséquences importantes sur les performances: certes, les débits Internet sont de plus en plus rapides, mais ils gagnent plus rapidement à des rythmes différents selon les pays, et de nombreux utilisateurs restent soumis à un plafond de consommation de données et à des forfaits facturés à l'usage coûteux, en particulier sur les mobiles.
Contrairement aux applications de bureau, les applications Web ne nécessitent pas de processus d'installation distinct: il suffit d'entrer l'URL pour être opérationnel. C'est l'une des principales fonctionnalités du Web. Toutefois, pour cela, nous devons souvent extraire des dizaines, voire des centaines, de différentes ressources, qui peuvent représenter des mégaoctets de données et doivent être regroupées en des centaines de millisecondes pour faciliter l'expérience Web instantanée que nous visons.
Offrir une expérience Web instantanée à la lumière de ces exigences n'est pas une mince affaire. C'est pourquoi l'optimisation de l'efficacité du contenu est essentielle: éliminer les téléchargements inutiles, optimiser le codage de transfert de chaque ressource à l'aide de diverses techniques de compression et exploiter la mise en cache dans la mesure du possible pour éliminer les téléchargements redondants.