Google Chrome changes HTTP caching mechanism to prevent ad network tracking

The browser caching mechanism has been working for many years. When a user loads a webpage, its resources will be saved locally to facilitate the next access to read the cache instead of reloading.

At the same time, some of the same resources such as scripts can also be shared by multiple domain names. These measures can be used to save Internet resource loading and web page loading speed.

However, Google Chrome has adjusted this caching method in the 86 version. Now Google Chrome marks the domain name to which the cache belongs to prohibit sharing resources with multiple domain names.

The reason for the prohibition is that advertising networks use this method to track users. After being abused, Google Chrome considers it necessary to block it based on privacy considerations.

CVE-2018-6177

This type of caching that has worked for many years is a good thing for the entire Internet, because the caching mechanism and sharing mechanism help save resource overhead and reduce bandwidth.

In the old caching mechanism, the browser will generate a key for the cached resource, such as using an absolute address as the key and then storing it in the browser database.

The advertising network will distribute some popular resources, and then measure the browser response time to infer whether the user is visiting, such as cached resources locally load fast.

At the same time, the advertising network can also detect whether the user may access a specific resource at a certain time in the past by checking whether the cached resource has a specific site resource.

This is also true for advertising networks that have realized that users can be tracked in this way for many years, and Google Chrome believes that this has violated users’ private information.

In the latest version of Google Chrome, the working method of the cache mechanism has been changed. The new version of the cache mechanism no longer allows different domain names to share specific cache resources.

Google tags the cached content with multiple keys, including the main domain name of the site, the current frame of the resource, the absolute address of the resource, and checks the key when loading the content.

If the cache resource does not belong to the domain name currently requested, it is not allowed to call the cache. Therefore, under normal circumstances, the website must call its own cache resource to complete the loading.

Of course, the disadvantage is that the loading speed of the website may slow down, consume more network traffic, and the expenditure on website bandwidth resources may slightly increase.

Firefox also announced a similar plan to ensure privacy and security, but the Firefox has not yet clearly stated when it will introduce this feature into the caching mechanism.