Das Client-Server-Modell ist eine Möglichkeit, mit der die Verteilung von Aufgaben und Dienstleistungen innerhalb eines Netzwerkes realisiert werden kann. Die Aufgaben werden an Programme vermittelt und von diesen dann erledigt. Bei diesen Programmen handelt es sich um Clients und Server. Hierbei handelt es sich um eine Software, sprich um ein Anwendungssystem.
Eine alternative Bezeichnung für das Client-Server-Modell ist Client-Server-Konzept, -Architektur, -System oder -Prinzip.
Bei einem Client handelt es sich um eine Anwendung, die in der Informationstechnik eingesetzt wird. Mit einem Client kann zwischen unterschiedlichen Servern kommuniziert werden.
Ein Client kann sowohl ein Computer als auch eine Software sein, welcher mit einem Server kommuniziert und von diesem Daten und Dienste zur Verfügung gestellt bekommt. Der Client stellt eine Anwendung bzw. eine Schnittstelle zum Benutzer dar. Die vom Benutzer angefragten Dienste werden vom Client an den Server übermittelt und anschließend werden die erhaltenen Daten so aufarbeitet, dass der Nutzer diese auf seinem Endgerät ablesen kann.
Ein Client wird häufig auch als Clientanwendung oder Clientprogramm bezeichnet.
In der Informatik kann der Begriff Server auf zwei unterschiedliche Arten verstanden werden. Ein Server als Hardware bezeichnet einen Computer, der seine Ressourcen für andere Computer oder Programme zur Verfügung stellt. Alternativ wird diese Art von Server als Host bezeichnet.
Die Software-Version eines Servers ist ein Computerprogramm, welches mit dem Client kommuniziert und seine Anfragen annimmt, weiterleitet und beantwortet. Der softwarebasierte Server kann lokal oder über ein Netzwerk die angefragten Daten und Dienste anbieten und den Zugang zu diesen herstellen. Um welchen Dienst es sich handelt, hängt von der Server-Software ab.
Der Austausch zwischen Client und Server wird über das Client-Server-Modell ermöglicht. Bei einem Client-Server-Modell handelt es sich um eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen. Die zugeteilten Aufgaben werden von Programmen erledigt. Diese Programme unterschieden sich in Server und Clients. Der Datenaustatsuch zwischen beiden wird über bestimmte Übertragungsprotokolle ermöglicht.
Innerhalb eines Netzwerkes werden die Aufgaben und Dienstleistungen auf verschiedene Rechner verteilt und für mehrere Nutzer zur Verfügung gestellt. Die Server, die von Clients angefragt werden und Dienste zur Verfügung stellen, befinden sich dauerhaft im Betrieb, sodass der Client jederzeit auf den Server zugreifen kann und somit die Dienste nach Belieben genutzt werden können.
Es ist möglich, verschiedene Server-Typen auf der gleichen Hardware zu hosten. Jedoch kann dies zu Komplikationen, Netzwerkausfällen und Verzögerungen führen. Deshalb ist es sinnvoller und auch üblicher, dass jeder Server auf einem eigenständigen Rechner untergebracht wird oder sogar auf mehrere verteilt wird.
Diese Lösung bedeutet, dass eine große Menge an Server-Hardware angeschafft werden muss. Die lohnt sich vor allem für große Unternehmen.
Auch für Privatpersonen, Selbstständige oder kleine Start-Ups, die ein eigenes Server-Projekt realisieren möchten, ist es von Vorteil auf eine Vielzahl an Hardware zu setzen. Da die Anschaffung jedoch hohe Kosten bedeutet, gibt es hier eine alternative Lösung: Miet-Server.
Mittlerweile gibt es einige Anbieter, die über Miet-Server in verschiedenen Hosting-Modellen verfügen und anbieten. Neben den ersparten Kosten ist ein weiterer Vorteil, dass auch der Betrieb der Hardware vom Provider übernommen wird.
Wichtige Begriffe
Anders als beim Peer-To-Peer-Modell, bei dem ein beteiligtes Programm innerhalb des Netzwerkes gleichzeitig den Client und den Server darstellt, sind beim Client-Server-Modell die Komponenten Client und Server getrennt und auf verschiedene Programme verteilt.
Peer-To-Peer bezeichnet die Kommunikation unter gleichen rechnernetzen. Hier sind die Computer gleichberechtigt, sodass Dienste sowohl in Anspruch genommen werden als auch zur Verfügung gestellt werden können.
Bei dem Client-Server-Modell nimmt der Server eine Rolle ein und ist keine Hardware, also Computer, an sich. Bei Peer-To-Peer kann der Computer nämlich Server und Client zugleich sein.
Webserver:
Der Client sendet seine IP-Adresse an den Webserver und fordert ihn auf, eine Website zu öffnen. Sobald der Server diese Anfrage erhalten hat, sendet er die gewünschten Daten an den Client. Die gewünschte Website erscheint geöffnet im Browser.
Druck-Server:
Per Client wird ein Druckauftrag an Druck-Server geleitet, welcher diesen dann an den Drucker weiterleitet.
E-Mail-Server:
Ein E-Mail-Server stellt jedem Nutzer ein Postfach zur Verfügung, in dem die E-Mails gespeichert und verwaltet werden können.
Proxy-Server:
Bei einem Proxy-Server handelt es sich um einen zentralen Zugang zum Internet und dessen Verwaltung. Beim Einsatz eines Proxys als Netzwerkkomponente sorgt er dafür, die eigene IP-Adresse zu verbergen, um eine gewisse Anonymität im Internet zu schaffen.
VPN-Server:
Der VPN-Server ermöglicht einen verschlüsselte Verbindungsaufbau zu einem Privat-Netzwerk.
Bei dem Client-Server-Modell handelt es sich um eine Verteilung von Aufgaben innerhalb eines Netzwerkes. Der Einsatz von Client-Server-Modellen verspricht viele Vorteile, weist aber auch einige Schwachstellen auf. Im Folgenden sind sowohl Vorteil als auch Nachteile eines Client-Server-Modells aufgelistet.
Bei Cloud Computing handelt es sich um eine frei verbundene Bereitstellung von IT-Infrastruktur und IT-Leistungen über das Internet.
Diese Leistungen können beispielsweise Speicherplatz, Rechenleistung oder Anwendungssoftware als Service sein.
Der Vorteil ist, dass der Nutzer von der kostenintensiven Bereitstellung, Installation und Betreuung eigener Rechensysteme entbunden wird.
Das Client-Server-Modell ist das Standardkonzept für die Verteilung von Aufgaben innerhalb eines Netzwerks. Aufgaben werden mittels Server auf verschiedene Rechner verteilt und können bei Bedarf von mehreren Clients zur Lösung aufgerufen werden.
Bei den zur Verfügung gestellten diensten handelt es sich oft um Standardaufgaben wie E-Mail-Versand, E-Mail-Empfang, Web-Zugriff, etc. oder um spezifische Aufgaben einer Software oder eines Programms.