Updated on Apr 23, 2018
Domain Name System (DNS) is a naming structure for computers, services, or other resources connected to the Internet or a private network. Think of DNS as the address book of the Internet. It allows users to type a domain name like google.com and to connect to the actual server holding the information for that website. The same process occurs every time a user requests a page from a website, and Nameservers play a vital role in it.
Now let us talk about the delay that occurs once you change the nameservers of a domain. When the location of the files that your website is made of change, you have to also change nameservers. And when it does, it may take up to 24-72 hours for it to come into effect. This delay is known as DNS Propagation.
Due to the nature of the Internet's structure, each Internet service provider (ISP) caches the DNS configuration for a domain. When a user accesses a website for the first time, the ISP caches the information it got from the root DNS - a specialized server that holds information about each domain's DNS zone. While having cached information improves subsequent requests for the same domain. When the Nameservers are changed, the cached data is useless as the ISP must find out the new location to which Nameservers are pointed.
Of course, now you are wondering why the time frame for the DNS propagation is so loose, but the answer is straightforward. Different ISPs are configured differently and will refresh their caches at different intervals. While you may live in Los Angelis and your ISP could have refreshed its cache two hours after the change, if the website is situated in London, the request has to go through a few key ISP nodes between LA and London and some of them might not yet finished propagating the change. This is why the website will not load for some users but might load for others.
On a local level, your computer might have also cached the already outdated information. Because of that, the first thing you should do when you experience propagation is to clear your browser's cache and flush the DNS cache.
If you still have trouble accessing the website in question you can edit your hosts file in order to force the connection to the new IP address of the website. You can also use a proxy service that will allow you to access the website from another ISP node. However, keep in mind that other users might still have issues opening the website in its new location due to their ISP's cache.
One of the easiest methods of checking the propagation status of your website is a DNS checker. The two DNS checkers listed below will provide a free DNS lookup for a domain of your choice and show data regarding which locations have finished propagating and which still have cached outdated information.
DNS propagation is an unwanted by-product of the way the World Wide Web has been designed, but there are still methods to avoid it altogether. Using Cloudflare can mitigate any propagation as your website will be accessed via the IPs of the closest to the user edge node. While the IP address of the server has been changed, the IPs of the edge nodes will still be the same, and the delay will be skipped entirely or lowered down to 15-30 seconds - the amount of time needed for all edge nodes to obtain the new DNS configuration.