Skip to content

Instantly share code, notes, and snippets.

@michellejanosi
Last active June 8, 2020 21:53
Show Gist options
  • Select an option

  • Save michellejanosi/679a92a3e93b7f7871c3e79f03bbc041 to your computer and use it in GitHub Desktop.

Select an option

Save michellejanosi/679a92a3e93b7f7871c3e79f03bbc041 to your computer and use it in GitHub Desktop.
An analogy between web clients and web servers

The client-server model operates kind of like a microbrewery.

In this microbrewery, your goal is to sell a high volume of beer to bars, liquor stores and supermarkets. You have a variety of customers that will make large orders every week or every month.

This means that customers will call your sales team or send an email every so often with a request. On the internet, this is known as a client.

On the other side of the equation, your brewery operations team exists so that it can brew beer that will meet the demands of the customers. In this situation, they are the server. That means that they await requests from clients, and use their computing power to share the appropriate resources based on the request.

In a very basic example, a supermarket might send a request like “We need 20 cases of beer.” At some point in the future, your microbrewery will send the response: the beer that was requested.

client-server-drawing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment