Updated on Apr 23, 2018
Domain Name Server (DNS) is a naming system for computers, services, or other resource 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. This change has to be made each time the location of the files that your website consists off change. 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 and how 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 which hold information about each domain's DNS zone. While having cached information improves sequential 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 very simple. 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 troubles 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 services 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 how the propagation of your website is doing, is by using 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 completely avoid it. 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 completely skipped or lowered down to 15-30 seconds - the amount of time needed for all edge nodes to obtain the new DNS configuration.