What is client-server architecture?

Definition

In a client-server design, the server owns durable sessions and process state while one or more clients provide the user interface. A client can disconnect or restart without necessarily terminating work that remains on the server.

Moving the server to another machine enables remote operation but adds authentication, compatibility and network-failure concerns. Protocol versions need explicit handling so an older client cannot silently misinterpret server behavior.

Acronyms and aliases

client-server model variant

Frequently asked questions

Why use client-server architecture for terminal sessions?

The server can keep processes and state alive independently while clients connect, disconnect or run on different machines.

What risks appear in remote client-server mode?

Remote mode adds network failures, authentication, encryption and protocol-version compatibility requirements.

Videos explaining client-server architecture