Core Question: How do two computers on opposite sides of the planet divide the work of running an application?

🍏 Tutor’s Notes

When you open Instagram, search on Google, or stream a movie on Netflix, where does all that content actually live? Obviously, all 100 million songs on Spotify aren't downloaded onto your phone's storage.

Instead, almost all modern software splits the workload between two players:

  1. The Client: The device and app in front of you that asks for things.
  2. The Server: The powerful computer far away that stores the data, does the heavy lifting, and sends back what you asked for.

This relationship—where one program requests a service and another program provides it—is called Client ↔ Server Architecture.

The Restaurant Analogy

Think of using an app like ordering food at a restaurant:

If every customer walked into the kitchen to cook their own food, it would be chaos—ingredients would get stolen, recipes would get ruined, and the kitchen would catch fire. Keeping the Client (dining area) separate from the Server (kitchen) keeps things organized, fast, and secure.

Meet the Players

1. What is a Client?

In computing, "client" is a role. It refers to both the physical device you use and the software running on it that initiates a request:

The Client's Job: