What the model says
The client server model is a way of organizing communication where one program, the client, asks for a service and another program, the server, provides it. The client initiates contact and the server waits passively for incoming requests. A web browser fetching a page is a client; the machine holding the page is a server.
Why split roles
- Centralization lets a server hold authoritative data so many clients see the same truth.
- Specialization means servers can run on powerful hardware while clients stay lightweight.
- Control keeps security and rules in one place rather than spread across every participant.
- Scaling is easier because you can add more clients without changing the server contract.
This contrasts with peer to peer, where every node is both client and server. The client server split is simpler to reason about and dominates the public web, though it creates a single point that must stay available. A server that is unreachable stops every client at once, which is why redundancy matters.
Key idea
In the client server model a client initiates requests and a server waits to fulfill them, centralizing data and control at the cost of depending on the server staying available.