How the Internet Works
This post was updated Aug 1, 2011…
Now that more and more people know me as “that website guy” I’ve been getting a lot of questions from people who are interested in setting up websites. Pretty much everyone knows how to surf the internet – using a browser to render pages, click on links, read stories, watch videos and download things. But actually publishing content seems like a daunting task to most people.
Surprise! It’s not! Before I start to explain the process to help your website get setup, a basic lesson on how the internet works. I’ve tried to use analogies and connect ideas, so hopefully this isn’t too hard to follow. Just have an open mind and don’t be intimidated by words like ‘server’ and ‘ip address’.
What Is a Website?
You’re probably familiar with downloading things from the internet. Maybe you’ve downloaded an .mp3 file (legally, wink) or a .doc file or other file types. When you visit a website, it it essentially the exact same process. A special kind of “web file” is travelling from the internet to your computer. (I’ll explain ‘the internet’ more thoroughly in a second)
You computer knows how to handle a web file – it displays it in a browser. Just like when you open an .mp3 file and your computer pulls up iTunes, or a .doc file and your computer pulls up Microsoft Word, your computer knows that the web file you just downloaded should be rendered using a web browser, like Firefox, Chrome or Safari. “Websites” are just a collection of web files all designed to interact with each other in your browser to process and display content.
When you surf the web, you’re essentially downloading a copy of some web files from another computer onto your computer. Those web files are rendered into a usable webpage by your browser. The downloading and rending takes place automatically whenever you visit website. It usually only takes a few seconds for the entire process to complete.
Where are Those Website Files Stored?
Most of the content you see when you surf the web is stored on special computers that are configured to serve internet content.
These are usually known as “servers”. You might have seen pictures of rooms full of big metal boxes with little blinking lights and giant air conditioners. Those are servers. They are built using the same hardware that your computer is built with and they are filled with the very same web files that your computer downloads every time you visit a webpage.
Any machine that has a connection to the worldwide network of computers is assigned an “IP address”. Your computer has one (find it here) and so do each one of the servers that store web files. Any machine that’s connected to the internet can act as a server and send files out to other computers.
When you visit a webpage, a server is sending files to your computer.
How Does a Server Know When & Where to Send Files?
Web servers are setup to “listen” – so that when a request reaches their IP address, they send specific files back to the computer that sent the request.
Whenever you load a webpage, you’re sending requests out to a server somewhere, and that server is responding by sending back the appropriate website files.
If you happen to know the IP address of the machine that stores your favorite website, all you have to do is type that in to your browser and that server should send you its files. Try visiting 18.104.22.168, for example.
What’s a URL for?
What’s that? You’ve been browsing the internet for years and never typed in an IP address to visit a site? ;)
Well that’s because very early on, someone had the good sense to realize that IP addresses are very hard to remember. They realized it would be much easier to use customizable letters and numbers to define the location of a server. Thus, the “domain name” was born. Every domain name is just a human-readable alias for an underlying IP address.
When you type in a URL, there is a domain name system (DNS) that tells your browser what the corresponding IP address. This helps your computer figure out which server it should be trying to reach when you visit a specific URL. The DNS maps each URL to a corresponding IP address, and can therefore tell your computer where to look for the website files you’ve just requested.
So essentially, a website is a collection of web files that are all stored in once place on a server. That server has an IP address. Most people end up accessing the website on that server by navigating to a domain name, and then letting DNS figure out the proper IP address for the site. Then, the server at that IP address receives the request for the webpage, and returns a bunch of web files that are sent to the user and rendered in a browser as a webpage.
You following me so far?
If you are, good. You have a basic grasp of how the internet works. You are now ready to start figuring out how to get in on the action (part 2).
If not, try reading this article from How Stuff Works. A basic grasp of how the internet works is essential to figuring out what you need (and don’t need) when setting up your website.
Note: I’ve skipped over a lot of the more technical stuff to make this as easy to follow as possible, so not all of it is technically correct because of modern security and performance enhancement systems. I tried to just focus on the concepts.