An architecture in which the user's PC or mobile device (the client) is the requesting machine and the server is the supplying machine, both of which are connected via a local area network (LAN) or a wide area network (WAN) such as the Internet.
Almost all processing today is some client/server variation; however, the term is no longer widely used. In the late 1980s and early 1990s, it was a hot buzzword as business applications migrated from central computers with terminals that were merely input/output devices to networks of desktop computers that shared the data processing.
The Web Is Client/Server
Terms such as "Web based" and "Web enabled" replaced the client/server buzzword, and the client/server term often implies older legacy systems. However, whether the term is used or not, Web-based systems today are entirely two-tier and three-tier client/server architectures. At the client side, the user's PC executes scripts in Web pages, and Web and application servers process data before sending results to the user. See
scripting language,
Java applet,
Web server,
application server and
database server.
Virtual Assistants Are Client/Server
Alexa and Google Nest are clients that communicate with their respective servers. For example, ask Alexa a question, and the Alexa client forwards that request to the Amazon server.
Search a Database of a Million Records
The top illustration shows the client performing all the processing, and the server is merely storage. In the bottom example, the server DBMS responds to the client's queries and returns only matching records. See
DBMS.
Three-tier Client/Server
A typical example of a company datacenter, processing is divided between two or more servers: one for application processing and another for database processing. See
application server.
Blockchains Are Client/Server and Client/Client
Crypto transactions generated in a client are executed on a server as in this Ethereum example. Just to confuse things, the software that runs in all blockchain nodes is called a "client," because all the server nodes communicate with each other in a peer-to-peer environment. See
Ethereum.