Thursday, January 29, 2004

What Does it Take to Build a Website? (by Steve)

How hard can it be?  Well, it turns out, for your basic web site with static information, it's not very hard.  Even I was able to do it with a little help from Hutch in a few hours.

There are basically three steps:  register a domain name, find a computer to host your site and then associate the name to the computer.  Although I have been using Internet technologies as tools and building Internet products since 1996, strangely enough, I have never done these simple things.  As it turns out, they are neither hard, nor mysterious and at this point, are unbelievably cheap.First, I got a domain name.  A domain name is an address.  It is part of the address of a web page.  This content, for example, has the following address:  [Now moved to] 
Within this page address, also known as a Uniform Resource Locator or URL, the domain is   (The term domain comes from the Latin word domus meaning house, the same root of ""domicile"" and ""domestic"").  Think of it as where this content is ""housed"" or who is responsible for its publication.

We might have used our ISP to host our content.  In our case, the domain would have been and the entire address might have looked like this:

There are three problems with this approach, however.  First, the address of my content would be owned by my service provider, not me.  But it is better to associate the address with the content than with the service provider.  Can you imagine if you had to get a new phone number every time you wanted to change long distance carriers?  Pretty inconvenient, no?  Another reason to avoid hosting content with your primary ISP is cost and flexibility.  RCN is more expensive than many hosting services and would not provide some of the more advanced features I was interested in exploring.  And third, it's not as gratifying to the ego as having your name out in front.  :)

So Hutch helped and we acquired  We went to a site like, paid them around $15, and they registered our domain.  I call this class of companies domain registrars.  Then what?

Then we needed to find a computer to host our content.  We needed a computer that was always on, that we were prepared to leave out in the open, exposed to anyone on the Internet, and that would be monitored for problems and malicious attacks.  For as little as $4/month, you can rent shared resource on someone else's computer instead of your own.

Sounded like a fine idea to me.

Hutch is reselling these services so he agreed to help us get started on one of his servers and it took all of about 5 minutes.

The last step is to associate your name with your computer.  Every networked computer in the world has at least one IP address.  And IP address looks like this:

This particular address is the address of the computer that served you this web page.  When you typed the address of this page including the domain name in your browser, it formatted and sent an HTTP message into the Internet.  Nodes in the network look up this address in a table as they pass the message along from node to node until it reaches the computer hosting this content.

Cool.  But how did every node in the Internet find out about my address?  Because the Internet was designed to survive a nuclear war (or even a ""nucular"" war these days), this lookup is based on a highly distributed table that begins with a simple transaction that I did myself (with Hutch's help, of course).  I told a my domain registrar (remember them?) that messages for should be routed to my hosting company which in turn will send it to my computer.  Within 24 hours, this little piece of information, the association between my hosting service and my domain name, is propagated throughout the world, completely automatically.

Unbelievably cool.

The last thing I did is put a web page on that server.  It said: ""Hello, world"" of course.

1 comment:

stefanoq said...

The content above has been "rehosted" at Blogger, a Google service. Once I get all the content off of which is currently routed to a host at Site5, I intend to reuse the domain name on this blog as well.