This post is part of a new <a href="https:\/\/pagely.com\/topics\/wordpress-tips\/developers\/" target="_blank" rel="noopener noreferrer">series<\/a> designed to help developers who are just starting out understand some basics and how they relate to WordPress. This first post is about <strong>DNS<\/strong>, including what it is and why you need to understand it.\r\n\r\n<strong>DNS stands for Domain Name System<\/strong>, so let's get that out of the way first. Every time you use the internet you're interacting with it, whether you realize it or not. That's because <strong>DNS<\/strong> is a protocol within a set of standards for how computers exchange information with one another <strong>(TCP\/IP protocol suite)<\/strong>. The graphic above depicts a common <strong>DNS interaction<\/strong> between user, computer, server, <strong>ISP<\/strong>, and more. <strong>An ISP is just an internet service provider<\/strong> (think cable company for example) so that's easy to wrap your head around.\r\n\r\nThe basic goal of the <strong>DNS system<\/strong> is to take user-friendly domain names like test.com and route them to the appropriate <strong>IP address<\/strong> since servers don't speak domain lingo. For example, the <strong>DNS system<\/strong> might translate test.com to an <strong>IP address<\/strong> of 70.70.700.70 behind the scenes when you've typed it into your browser. This task is handled by something called a <strong>domain name server, DNS server, or name server<\/strong>. All three tend to be thrown around and mean the same thing. We'll use the terminology <strong>DNS server<\/strong> for the purposes of this article since it's the most descriptive of the three. Basically the <strong>DNS server<\/strong> has a database of domains and which <strong>IP address<\/strong> each maps to and just sends the request (user) to the proper location based on the records it has at the time of the request. The proper name for this process is <strong>DNS name resolution<\/strong>, since it's resolving the domain to the proper <strong>IP address<\/strong>.\r\n\r\nYou can always bypass <strong>DNS<\/strong> by entering a site's <strong>IP address<\/strong> directly into the browser instead of the domain. This is a good way to test for things to see if the issue is related to your domain being pointed incorrectly for example. Keep in mind <strong>IP addresses<\/strong> can change over time so that's another reason domains work better. Google.com might be powered by a certain <strong>IP address<\/strong> one day and a different one the next, so it's easier to just navigate to Google.com rather than trying to keep up with the current <strong>IP<\/strong> <strong>address<\/strong> they have assigned to their server. Also it's important to understand that some sites (like Google) associate more than one <strong>IP address<\/strong> with their domain which is just one more reason the <strong>DNS system<\/strong> is so helpful.\r\n\r\nSo how does your laptop at home connected to internet via your cable provider (<strong>ISP)<\/strong> know which <strong>IP address<\/strong> to resolve a domain to? There's obviously a <strong>DNS server<\/strong> handling the <strong>DNS name resolution process<\/strong>, but who is doing it? In this case since your <strong>ISP<\/strong> is your cable company, it's them! For example, if you have your laptop connected to a modem from your cable company, they have likely sent some network configuration information to the modem that is passed to your laptop. Part of this information is likely a dictation of which <strong>DNS servers<\/strong> the laptop should use when translating domains to <strong>IP addresses<\/strong>.\r\n\r\nStay tuned for future posts on things like HTTP vs. HTTPS, rsync, FTP vs SFTP, SSH, and more.