How do I get
a webpage?
Let's discuss how a website gets to your computer. There is a key concept
you should understand.
This is DNS.
DNS stands for Domain Name System. In order to get a webpage, you need
to know the name of the page. Someone has purchased this name, and they
own it. When the owner purchases the domain, he must specify what domain
name servers the webpage will be directed by. For example, someone who
purchases a domain through our system will most likely want to set this
record to ns.netmar.com (Netmar's name server). Then, when our user
tries to access the page new-domain.com, the process is this:
His computer asks his ISP if it knows where new-domain.com is.
If his ISP's servers have remembered the information they will tell
him, if they do not know, they will ask the "root" servers
which server does know where new-domain.com is.
The user's computer will get a DNS server in response.
The user's computer will ask that DNS server about new-domain.com.
The DNS server will reply that the site is hosted on such-and-such computer.
The user's computer will then ask the webserver computer for the webpage.
The webserver computer will send the user the webpage.
By this time, the user's computer will know where to look for new-domain.com,
and won't have to ask for DNS records anymore.
Just to make this completely clear, we will use a "real" example,
complete with "real" names, etc. We need to make it personal.
One of the websites I run is www.fredrock.org.
I have an internet connection at home, a DSL connection through NTelos.
So, at home, I want to look at my webpage, fredrock.org.
I fire up my web browser on my computer, and type in fredrock.org. My
computer asks NTelos' DNS servers where that website is. Now, no one
on NTelos's network has looked at fredrock.org for a while, so it is
no longer cached (remembered) by their DNS server. So their DNS server
asks a "root" dns server for information on fredrock.org.
You can see the information it gets by visiting a site such as www.easywhois.com
and querying for fredrock.org. At the bottom of the information are
the name servers associated with fredrock.org. There are two (for redundancy)
- they are ns.netmar.com and ns2.netmar.com. So, NTelos'
name server now knows that the DNS server responsible for fredrock.org
is ns.netmar.com. It asks ns.netmar.com about fredrock.org, and ns.netmar.com
replies "that domain is hosted at 198.69.224.10". NTelos'
name servers then cache the relationship of fredrock.org to 198.69.224.10.
Then, my computer asks 198.69.224.10 about fredrock.org, and it starts
sending me the index.html page (actually index.php, but who's counting).
Now, and for the next couple of hours, anyone on NTelos' network who
wants to see fredrock.org will not have to go through the process of
requesting it from the root servers, as it will be cached in the NTelos
name server.
Note that this is why we tell everyone that changes made to their domain
name may take up to two days to propagate throughout the Internet. Updates
to the root servers are made at night, and records in ISP's (like NTelos)
are cached for up to 7200 seconds, or two hours.
And that is how you get a webpage.