Mozilla implemented a new feature in Firefox 57 that its lead developer calls tailing. Tailing delays the loading of scripts from a list of known tracking domains to improve the page load performance.
The core concept works similarly to lazy load. Instead of loading all scripts and elements of a web page directly, some content is paused to give more important content more resources to work with.
The theory is that pages load faster because of this. Mozilla noticed that tailing has a positive effect on page load performance because Firefox may use (more) “network bandwidth, I/O and CPU for loading and processing of images and scripts running on the site” so that the web page is loaded faster.
Firefox delays tracking scripts for six seconds by default. Scripts that Firefox identifies as coming from tracking domains are paused for the time and moved to the end of the queue. This happens only for scripts that are asynchronous or loaded dynamically.
Mozilla uses the same list that it uses for the browser’s tracking protection feature. There is no way currently to add or remove domains from that list.
Tracking images, XHRs (XMLHttpRequests), and requests made by tracking scripts are automatically and always delayed.
The scripts, which are not necessary for the display of the site usually, are moved to the end of the loading queue so that pages render faster.
Mozilla notes that the method has its problems. Issues happen for the most part on sites that load resources from known tracking domains that are required for the rendering of a page, and for sites that are not “well built”.
It can happen that a blank page is displayed on sites if a resource from a tracking domain is required. Mozilla found that to be the case on Google’s Page Hiding Snippet for instance.
Configure tailing in Firefox
Tailing can only be configured using advanced configuration options. You can load about:config?filter=network.http.tailing to display them all in the Firefox web browser for instance, or assign different values to them using a user.js file.
- network.http.tailing.enabled — Set this to false to disable tailing in Firefox
- network.http.tailing.delay-quantum — This defines the minimum time in seconds that resources from identified tracking domains get delayed (0.6 seconds)
- network.http.tailing.delay-quantum-after-domcontentloaded — Defines the delay after dom content has loaded (0.1 seconds)
- network.http.tailing.delay-max — This defines the maximum time in seconds that resources from identified tracking domains get delayed (6 seconds)
Firefox will display most web pages faster with tailing. That’s a good thing, and while some users may say that this is not going far enough, others may be very happy with it. Users can enable tracking protection in Firefox to block these tracking domains outright and speed up browsing even further, or use a content blocker for the same effect.
The benefit of a content blocker is that it gives users more control, and protects them better for malicious advertising campaigns. (via Bleeping Computer)