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.Often clients and servers communicate over a computer network on separate hardware, but both client and server mayreside in the same system. A server host runs one or more server programs which share their resources with clients.