A client (via English client from Latin cliens literally for " client " or "customer") - also client-side application , client application or client program - refers to a computer program that is executed on the terminal of a network and communicates with a server (central computer ). A terminal device itself, which calls up services from a server, is also called a client.
The counterpart to the client is the respective server program or the server itself.
An important group of client-side applications are the web browsers , such as B. Mozilla Firefox , Internet Explorer or Apple Safari , which use the HTTP protocol for data communication with a web server in order to request data from it and then display it to the user.
Another example is e-mail clients : they contact an e-mail server in order to pick up e-mails from it and send them via it. The client does not have to be constantly in operation or connected to a network, because the mail server receives incoming e-mails.
Many clients are not operated by users, but work in the background as a system service , such as DNS clients. They automatically connect to DNS servers if a server name such as
de.wikipedia.orgthe IP address is required.
The Ajax concept is becoming increasingly important for client-side applications that are embedded in Internet pages. Other client applications that have their own proprietary client-server protocols are, for example, the Citrix or the SAP client.
Most of the time, client-side applications appear in a hybrid form with a server-side application.
Client-side vs. server-side state storage
In this context, it is also important how the context of a user session can be saved. For example, HTTP is stateless, which means that the server cannot remember any data between two data requests. A client-side application can use the cookie concept to save information on the client side, which is read out again by a client-side follow-up script at a later point in time. However, cookies do not offer any form of data security and can e.g. B. can also be read by non-application spyware . This functional gap is partially closed by the concept of server-side session management .
The inherently stateless client / server communication thus becomes a system in which the session data on the server can be maintained over several data requests. This enables sessions (e.g. protected by a password).
- To solve some problems (validity of form entries), the involvement of the web server can be dispensed with.
- A dialogue with the user is made possible.
- The aesthetics of the website can be improved (e.g. changing content and presentation depending on the mouse position).
- The source code is visible and accessible to the user. This can be undesirable under certain circumstances.
Types of clients
Clients are also all those computers in a network that, unlike the servers, do not provide any services.
- Frank Geisler: Databases - Basics and Design. 5th updated and expanded edition, Hüthig Publishing Group, Munich 2014, ISBN 978-3-8266-9707-4 .
- Johann Anton Illik: Distributed Systems. Architectures and software technologies. Expert Verlag, Renningen 2007, ISBN 978-3-8169-2730-3 .