<computer programming> A common form of distributed system in which software is split between server tasks and client tasks. A client sends requests to a server, according to some protocol, asking for information or action, and the server responds.

This is analogous to a customer (client) who sends an order (request) on an order form to a supplier (server) who despatches the goods and an invoice (response). The order form and invoice are part of the "protocol" used to communicate in this case.

There may be either one centralised server or several distributed ones. This model allows clients and servers to be placed independently on nodes in a network, possibly on different hardware and operating systems appropriate to their function, e.g. fast server/cheap client.

Examples are the name-server/name-resolver relationship in DNS, the file-server/file-client relationship in NFS and the screen server/client application split in the X Window System.

Usenet newsgroup: comp.client-server.

["The Essential Client/Server Survival Guide", 2nd edition, 1996].

(01 Apr 1998)