Safari DNS Prefetching

Updated: Jun 3, 2020

DNS stands for Domain Name System. It's the phone-book of the internet, the mechanism constantly at work behind-the-scenes that turns "" into the IP address your computer actually needs to connect to a web site.

Think of it like the address book on your cellphone. When you want to call someone, you just choose them from your phone by name. But behind the scenes, your phone has to convert that name into a phone number, then dial the number. The same thing happens in your web browser, every time you pull up a website.

In the above example, your smartphone is able to very quickly look up the correct phone number, because the "database" of phone numbers (your address book) is all stored in local memory on the phone. But it's not practical for your computer to store EVERY internet address and EVERY IP address, especially since they are constantly changing.

So your computer has to connect to another computer, called a DNS Server, and ask it to figure out the IP Address of each domain name. And that computer goes off and asks yet another computer, and so-forth, until the IP address is finally found, and reported back up the chain of servers and eventually back to your computer. Usually, this happens relatively quickly, but it can sometimes take a few seconds. To cut down on this time resolving DNS, web browsers, including Safari, will do what's called "DNS Prefetching," that is, they'll look at all the links on a page and resolve the DNS for all the domains in advance, just in case you decide to click one of the links. That way you're not left waiting for DNS to resolve.

In most cases, this is helpful and it works pretty well. But sometimes, it can actually slow things down. If the page you're on has lots of graphics or requires lots of CPU power, DNS prefetching can divert valuable system resources away from the task at hand. It also is somewhat wasteful, most of the domains your browser prefetches will never be used. Finally, for the privacy conscious, the DNS server that your computer uses sees that your computer is looking up a particular domain name, whether it was you that visited it consciously or whether it was just your browser prefetching.

If you have any problems or concerns with DNS prefetching, I've written this utility that will let you turn it off.