Google Chrome DNS Fetching

0
236

The Google Chrome web browser makes use of a feature called DNS fetching (sometimes also called DNS pre-resolving) which aims to speed up the user’s web browsing experience by translating domain names to IP addresses in advance.

The computer needs to resolve every domain name to an IP address to make a connection to that location (and all other elements that are linked on that page). It takes an average of about 250 ms to retrieve those information from websites that are accessed for the first time.

DNS Fetching retrieves the information prior to the user’s click on a link on an already loaded page. This speeds up the loading of said resource by about 250ms according to Google, but that is only of use if you click on the resource link to load it.

That’s one of the reasons why page loads feel faster in the Google Chrome web browser. DNS Prefetching is enabled in the Google Chrome browser by default. When you type about:dns in the address bar a list of pre-fechted DNS records is shown to you.

google chrome aboutdns

We have identified three problems with DNS Prefetching that we would like to address below:

Privacy issue:

Chrome will resolve all domain names on a loaded page even those that the user has no intention on clicking on.

Some users might want to prevent this. The prefetched DNS records are also stored in the web browser and clearing the browsing data in the browser will not clear the prefetched data.

The data is however only stored per session meaning that it will automatically be deleted once the user closes the browser.

Page loading problems:

It happens that a web page does not load in Google Chrome displaying a “Oops! This link appears to be broken.” message instead. Reloading the page does not seem to resolve the issue and clearing the browsing data does not resolve it as well. Other web browsers on the other hand load the website just fine.

This is an indication that DNS Prefetching may be the problem here. Google Chrome cannot load a website correctly if prefetching fails (for instance by resolving the wrong IP address). Closing and reopening the browser should resolve the issue. Users who experience broken links regularly might want to consider turning off the DNS prefetching feature to resolve the issue.

Bug: Dns Prefetching is disabled message in about:dns even though it is enabled. The Chrome developers are randomly switching off DNS Prefetching in the browser. This issue can be resolved by closing and reopening the browser.

DNS Prefetching

google chrome prediction service

You can disable DNS prefetching in Google Chrome in the following way:

  1. Load chrome://settings/ in the browser’s address bar, and click on the “show advanced settings” link at the bottom of the page that opens.
  2. Locate “Use a prediction service to load pages more quickly” under Privacy, and remove the checkmark from the preference.

Old information

The following information apply only to outdated versions of Google Chrome.

The way pre-fetching can be disabled has changed. Load chrome://settings/ in the browser, click on show advanced settings at the bottom and uncheck the “prefetch resources to load pages more quickly” option there.

prefetch resources

DNS Prefetching can be configured in the Options of the Google Chrome browser. A click on the Tool icon in the address bar and the selection of Options from the context menu will open the Options window.

Switch to the Under The Hood tab and look for the “Use DNS pre-fetching to improve page load performance” entry.

dns pre-fetching

Should you keep the feature turned on?

That really depends. If you are experiencing page loading errors regularly you might want to consider turning it off.

If you think it is a privacy issue you should also turn it off. Everyone else benefits from the speed gains on the other hand (you might want to benchmark those).

If you are a Chrome user: Are you using DNS Prefetching? What is your experience with it?