April 7, 2012

What is a website? A technical primer for business owners.

It used to be simpler out here. And by simpler, I mean, complex enough that only a proper nerd could have a website. Since then, as you know, the barrier to entry -- that is, entry to the internet -- has gotten very low indeed. But, the principles of how the internet works are the same now as they were 20 years ago. We feel like this is the minimum that anyone claiming to "own" a website ought to know.

A website is a collection of files. (It can also be software that mimics being a collection of files, but this is already technical enough). The site lives on a server, also called a host. Your host runs software that serves the files when it receives a request.

You access a website via a URI (or URL if you prefer). I won't be spelling out the acronyms because I don't think it'll be helpful, but you can google away if you like.

So anyhow, a URI is composed of three parts: a scheme, a host, and a path. Consider the following URI:

http://www.reddit.com/r/smallbusiness/

In this case, http is the scheme, www.reddit.com is the host, and /r/smallbusiness/ is the path. In general terms, the scheme describes how you're accessing the data, the host and path are where the data is. http and its encrypted cousin https are the schemes that are used for websites1.

Now, www.reddit.com doesn't mean anything intrinsically. The actual server location is (for me) 69.22.138.129. This is the IP Address. To resolve an IP address to a certain computer, you send it along to a "node" at your network provider. That node might know which node is responsible for 69, so it sends it there. The node at 69 knows which node under it has 22. The node at 69.22 can find 138, and finally that node knows where 129 is located. So, you end up at the computer identified by 69.22.138.129.

reddit.com is a domain name. To get technical, each one of www.reddit.comreddit.com, and com is a domain, but in common parlance www is called a subdomain of reddit.com and com is a top-level domain, and if someone says domainthey're probably just talking about the reddit.com part.

Regardless of any of that, a domain or subdomain maps to an IP Address via a system called DNS, or Domain Name Service. This works just like routing for an IP address, but from the right this time: The server at .com knows where to find reddit.com, and that server knows where to find www.reddit.com. The computers that handle this routing are called nameservers.

Anyhow, when your server receives a request, it maps the path part of the request to a certain file, and serves it. Meaning, it sends it back to your browser and your browser renders it and everyone is happy.

What does this all mean to you, the business owner?

It means you need:

  • domain name
  • host
  • website -- that is, a bunch of files that you can put on your host.

You also need to connect them together: the domain name needs to know where to find the host. Usually, your host will have its own nameservers, and you can configure your domain name registrar to use them. You'll also need to put your website on the host.

There. Now you know enough to be confident in what, exactly, your website is. We're not suggesting that you need to do things this way, but, underneath it all, this is how every website works.

Head still swimming? You could just hire us to do it all for you.