I recently read a funny blog post on things learned way too late in life. While there are certainly no shortage of such things to share, I have found some of my biggest "woah" moments in the last few years to be in the world of computers. Being pretty new to the field and largely self-taught, I consistently have the bittersweet experience of noticing a glaring blindspot and the lightbulb moment once the gap is filled in.
Understanding the whole client-server thing was one of these experiences. These concepts are thrown around in almost any slightly technical computing context but for most of my life I just slowly nodded my head along without really getting it. It wasn't until I heard someone describe a server as "someone else's computer" that it clicked for me. While that is a bit reductive, I think it's a helpful reminder as we think of the original analogy.
Imagine that you're hungry suburbanite and you're walking down a strip mall of restaurants, deciding whether you really want to hit Subway after that "Subway man" scandal or if you'd rather deal with the screaming children at Appleby's. As you, the client, are browsing you decide that Subway was in part responsible for Jared Fogle's actions and decide on Appleby's as your host of choice. You, the client, are met by the server who takes your order, and after some time, serves up your request.
In computing this is why your web browser is often referred to as the client. As you browse a website, there is a host computer, or server, which brings you the files displayed on your computer. The internet is conceptually just the mode of communication between these computers. Cool, right?
This post was definitively not sponsored by Subway.