Client-server model

from Wikipedia, the free encyclopedia
Server-based network

The client-server model (also called the client-server concept , architecture , system or principle ) describes a way of distributing tasks and services within a network . The tasks are done by programs that are divided into clients and servers . If desired, the client can request a service from the server (e.g. a resource). The server, which is located on the same or a different computer in the network, answers the request (that is, in the example it provides the resources); Usually a server can work for several clients at the same time.


Server ( German: operator, provider, service provider, provider, English: to serve)
A server is a program ( process ) that communicates with another program (process), the client ( German: customer), in order to give it access to a service . It must be noted here that “server” is a role, not a computer itself. A computer can be a server and a client at the same time, see: Peer-to-Peer .
Client ( German: customer, service user)
A client can request a service from the server that provides this service.
Service ( German: Dienst)
Protocol of a defined task that the server offers and the client can use.
Request ( German: requirement, request)
Request from a client to the server whose service it requires.
Response ( German: answer)
Response from a server to a request from a client.

Client-server model

The client-server model is the standard concept for the distribution of tasks within a network. Tasks are distributed to different computers by means of a server and can be requested by several clients to solve their own tasks or parts of them if necessary. The tasks can be standard tasks (sending e-mails, receiving e-mails, web access, etc.) or specific tasks of a software or program. A task is referred to as a service in the client-server model.

A server is a program that offers a service . Another program, the client , can use this service as part of the client-server concept . The communication between client and server depends on the service, i.e. the service determines which data is exchanged between the two. The server is ready to react at any time to a client being contacted. In contrast to the client, which actively requests a service, the server behaves passively and waits for requests. The rules of communication for a service (format, call of the server, meaning of the data exchanged between server and client) are determined by a protocol specific to the respective service .

Clients and servers can run as programs on different computers or on the same computer. In general, the concept can be expanded into a group of servers (software) that offers a group of services. Examples: mail server, (extended) web server, application server , database server.

Since in practice these servers usually run collectively on specific computers, it has become common practice to refer to these computers themselves as servers. The same examples: mail server, web server, application server, database server.

Differences from peer-to-peer

In contrast to the peer-to-peer model, in which a participating program within the network simultaneously represents client and server, in the client-server model the components client and server are separate and open different programs distributed.

Client-server system

A client-server system is software (application system) which makes use of the client-server model for its tasks and functions. In other words, the software was designed to use the client-server model. The system therefore consists of at least two parts, a server and a client component, which usually run on different computers.

Example of a client-server system with a central database server

The client-server system forms a network structure, consisting of the central database server as the server component and several user clients as the client component. The client forms the application program through whose user interface the user accesses the resources of the database server via the network . It reads and maintains the data in the database by "sending" SQL commands. The client sends every SQL command as a request to the server so that it can be executed there. The server returns the result (data or error message) as a response to the client.


Art description
Application server An applications server provides applications centrally. A client does not start the desired program from the local hard drive , but from this server. One advantage of such a server is such. B. when installing program updates: these updates only have to be installed once on the server and can then be distributed to the clients. Often a small local installation part is necessary before a program can be used on the client. If programs are executed directly on the server, one speaks of a terminal server .
CD-ROM server A computer equipped with optical drives (such as CD-ROM drives ); This computer then assembles the contents of the optical data storage all on network connected computers and users.
Database server This server works with a suitable database management system (DBMS for short) with which it can make large amounts of data available centrally so that several clients can work with this data at the same time.
File server A server to store all the data created by users. The computer on which the file server is running is usually equipped with one or more hard disks with a large capacity and high access speed.
Mail server A server on which a mailbox is created for each user so that communication via (electronic) letters (or e-mails ) can be carried out with the help of this server .
Print server This server provides printers centrally and coordinates incoming print jobs. The computer on which this server runs is usually equipped with several connection points for several printers.
Proxy server This server offers and manages central access to the Internet for all users.

See also


  • Roland Bauch, Thomas Beer: Networks - Basics . 7th edition. HERDT-Verlag für Bildungsmedien, 2004, ISBN 978-3-8237-1140-7 (page 9).