Client-server is a relationship between cooperating programs in an application, composed of clients initiating requests for services and servers providing those services. The client-server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.
In this model, clients usually do not share any of their resources, but they request content or service from a server. Servers, on the other hand, run one or more programs that share resources with and distribute work among clients. Often, clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system.
A client-server network is the medium through which clients access resources and services from a central computer, via either a local area network (LAN) or a wide-area network (WAN), such as the internet. An important advantage of the client-server model is that its centralized architecture makes it easier to protect data with access controls enforced by security policies.
Examples of client-server model are email and World Wide Web.