Erik Brynjolfson, Massachusetts Institute of Technology
In modern programming, the prevailing architecture relies on client-server communication. A client computer requests data from a server. The server receives the request and responds to it with the data or an error of some sort.
The word “server” can refer to both computer hardware and software that provides functionality for other programs.