Client, auch bekannt als „clientseitige Anwendung“, ist eine Anwendung oder ein Programm, das auf dem lokalen Computer oder Gerät eines Benutzers und nicht auf einem Server läuft. Sie führt Aufgaben aus und stellt dem Benutzer Dienste zur Verfügung, wie z.B. die Anzeige von Inhalten aus dem Internet oder den Zugriff auf Daten, die auf entfernten Servern gespeichert sind. Beispiele für Client-Anwendungen sind Webbrowser, E-Mail-Programme und Media Player.
Der Begriff „Client“ wird oft im Gegensatz zu „Server“ verwendet, wenn es um die Netzwerkarchitektur geht. Ein Server ist in der Regel für die Durchführung von Operationen und die Speicherung von Daten zuständig, die von vielen Clients angefordert werden (z.B. ein Online-Geschäft). Die beiden kommunizieren miteinander über ein Netzwerkprotokoll wie TCP/IP (Transmission Control Protocol/Internet Protocol), gemeinsame Schnittstellen, Standards, Nachrichtensysteme und mehr.
In diesem Szenario bezieht sich die „Client“-Seite auf jeden Computer, der Anfragen über das Netzwerk stellt, während sich der Begriff „Server“ auf jedes System bezieht, das auf diese Anfragen antwortet – sei es ein FTP (File Transfer Protocol)-Dateiübertragungsdienst, eine datenbankgestützte Website oder ein FTP-Server, der Bilder für die Besucher Ihrer Website bereitstellt – und so den Kommunikationszyklus zwischen beiden Seiten der Gleichung vervollständigt: Anfrage > Antwort > fortgesetzte Kommunikation bis zur Erfüllung der Aufgabe.
Neben dem Hauptzweck der Bereitstellung von Diensten für Benutzer und dem Zugriff auf entfernte Datenspeicher kann Client-Software von Entwicklern auch zum Debuggen von Code vor der Bereitstellung auf Webservern oder anderen Netzwerken verwendet werden, wo Clients über ihre eigenen Anwendungen, die in ihrer Browserumgebung laufen, darauf zugreifen. Auf diese Weise haben Entwickler mehr Kontrolle darüber, wie ihre Anwendungen von Benutzern auf verschiedenen Plattformen gesehen werden, je nachdem, wie sie mit HTML5 (Hypertext Markup Language), CSS3 (Cascading Style Sheets) usw. programmiert sind. Darüber hinaus trägt diese Technik zum Schutz privater Informationen bei, da die gesamte Kommunikation zwischen den Clients nicht über öffentliche Netze wie HTTP läuft, sondern innerhalb privater Intranets bleibt. Dadurch werden potenzielle Sicherheitsrisiken im Zusammenhang mit externer Kommunikation zugunsten interner Kommunikation reduziert, auf die von außen nicht zugegriffen werden kann, ohne dass eine der beiden Parteien zuvor eine spezielle Erlaubnis erteilt hat, die Verbindungsversuche zu initiieren