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.Often clients and servers communicate over a
computer network on separate hardware, but both client and server may reside in the same system. A server
host runs one or more server programs, which share their resources with clients. A client does not share any of its resources, but it requests content or service from a server. Clients, therefore, initiate communication sessions with servers, which await incoming requests. Examples of computer applications that use the client-server model are
Email, network printing, and the
World Wide Web.