Firefox Quantum retarde le chargement de scripts de tracking
Une technique qui permet au navigateur d'accélérer le chargement de sites web
Quelques semaines après la sortie officielle de Firefox 57, connue aussi sous le nom Quantum, le navigateur continue d’éblouir les utilisateurs par sa performance et sa vitesse. Selon les propres tests de Mozilla, Firefox serait deux fois plus rapide que Chrome en mode de navigation privée (Incognito), une performance obtenue grâce à l’introduction d’un nouveau moteur de rendu basé sur Servo.
Mais pour améliorer le temps de chargement des pages web, Mozilla a eu recours à d’autres techniques bien cachées dans Firefox 57, parmi lesquelles une qui vient juste d’être révélée par un ingénieur de Mozilla. En effet, Firefox entreprend désormais de retarder les scripts issus de domaines de tracking comme Google Analytics.
Cette technique appelée « tailing » a été développée par l’ingénieur de Mozilla Honza Bambas. Elle consiste à utiliser des informations tirées de la base de données Tracking Protection afin de retarder les scripts qui traquent les utilisateurs à chaque fois que cette technique s’avère possible lors du chargement de la page. Selon Bambas, il a développé cette technique pour prioriser le chargement de la page web le plus vite possible pour que l’utilisateur ait la possibilité d'interagir avec elle, en même temps, les scripts de tracking sont retardés.
Selon Bambas, cette technique a un effet positif sur la performance du chargement de la page puisqu’elle permet de gagner de la bande passante du réseau, l’I/O et le CPU requis pour le chargement et le traitement d’images et de scripts exécutés se trouvant sur le site afin que la page web soit complète et prête plus tôt.
Les scripts de tracking ne sont pas désactivés une fois pour toutes, mais juste mis de côté pendant quelques secondes quand c’est possible. Les requêtes sont maintenues en attente seulement quand il y a d’autres ressources du site encore en chargement sans dépasser un délai de six secondes ; une fois passé ce laps de temps, les scripts sont chargés même si le chargement de la page n’est pas fini. « Le retardement est activé seulement pour les scripts ajoutés de façon dynamique ou asynchrone. Les images de tracking et XHR (XMLHttpRequest) sont toujours retardés ainsi que toute requête qui provient d’un script de tracking. »
Selon Bambas, cette démarche est tout à fait légale au regard de toutes les spécifications HTML, il a ajouté également que les sites bien conçus ne sont pas affectés par cette fonctionnalité.
Bien que cette technique s’appuie sur des données issues de la fonctionnalité de confidentialité Tracking Protection de Firefox, elle ne constitue pas une autre option de protection de la vie privée. Elle retarde seulement le chargement de scripts de tracking pour épargner quelques ressources et donner la priorité aux requêtes du site web.
Toutefois, cette technique n’est pas sans problèmes, les sites web qui ne sont pas bien conçus ou bien qui sont influencés par des scripts de tracking peuvent afficher une page vide pendant quelques secondes au lieu de charger la page web de façon graduelle. Bambas a donné l’exemple du Page-Hiding Snippet de Google qui peut parfois afficher une page vide pendant quatre secondes avant son chargement.
Sachant que la plupart des sites web modernes ont été conçus avec des bibliothèques JavaScript qui chargent les ressources JavaScript en parallèle, cette technique de « tailing » devrait être efficace dans la plupart des cas. Et pour cause, Mozilla se concentre sur le code nécessaire pour charger la page web afin d’améliorer la performance. En même temps, les scripts de tracking sont épargnés et seront toujours chargés.
En jetant un coup d’œil sur la page about:config de Firefox, vous pourrez changer les paramètres du « tailing ». Les deux premiers paramètres (network.http.tailing.delay-quantum-after-domcontentloaded et network.http.tailing.delay-quantum) permettent de changer les valeurs minimales. Le troisième paramètre (network.http.tailing.delay-max) concerne la valeur maximale et (network.http.tailing.enabled) permet d’activer ou de désactiver le tailing pour de bon.
Source : blog mayhemer
Et vous ?
Avez-vous constaté une amélioration de la performance de Firefox ?
Voir aussi :
Firefox se prépare à son tour à marquer les sites en HTTP comme étant non sécurisés, une représentation visuelle est déjà disponible sur la Nightly
Mozilla a silencieusement déployé la fonctionnalité First Party Isolation empruntée à Tor, pour endiguer le profilage des régies publicitaires
Partager