Html-lernen

Client-Server-Prinzip Erklärung

Hier wird die Basis gebildet für die Kommunikation zwischen Server und Client in einem Netzwerk.

Client = Anwender / Benutzer

Server = Dienstleister / Anbieter

Der Server stellt Daten, Dienste und Ressourcen bereit die vom Client genutzt werden können.

Der Client initiiert immer den Verbindungsaufbau mittels Anfrage an den Server (Request).

Der Server bearbeitet die Anfrage und sendet eine Antwort an den Client (Response).

Dabei kann es sich um Daten oder Statusmeldungen handeln.

Die Kommunikation werden mittels Protokollen ermöglicht.

Für die Anwendungen, Darstellungen und Sitzungen:

HTTP, UDS, FTP, SMTP, POP, Telnet, DHCP, OPC UA, TLS, SOCKS
Für den Transport TCP, UDP, SCTP
Vermittlung IP (IPv4, IPv6), ICMP
Sicherung und Bitübertragung Ethernet, Token Bus, Token Ring, FDDI

Nachdem die physikalische Verkabelung geplant ist und jeder Rechner eine Adresse bekommen hat, kann man sich nun Gedanken darüber machen, wie die Kommunikation zwischen den Rechnern abläuft. Wer stellt die „Frage“? Wer antwortet? Für die meisten Anwendungen hat sich das Client-Server-Prinzip als sinnvoll herausgestellt.

Die beiden Begriffe Client und Server sind umgangssprachlich leider nicht eindeutig.

Ein Server(engl. „Diener“) ist in der Informatik ein Dienstleister, der in einem Computersystem Daten oder Ressourcen zur Verfügung stellt. Das Computersystem kann dabei aus einem einzelnen Computer oder einem Netzwerk mehrerer Computer bestehen. Zwei Bedeutungen werden unterschieden:

  1. Server-Programm: Ein Computerprogramm, das einen Dienst (z. B. Fileserver: zentrale Speicherung von Dateien) bereitstellt.
  2. Server-Computer: Der Computer auf dem ein oder mehrere Server-Programme laufen. Die ursprüngliche Bezeichnung für diesen physischen Rechner ist Host.

Genauso gibt es für das Gegenstück, den Client (engl. „Kunde"), zwei Bedeutungen:

  1. Ein Client ist eine Anwendung, die in einem Netzwerk den Dienst eines Servers in Anspruch nimmt.
  2. Der Begriff Client wird aber auch oft verwendet, um einen Computer in einem Netzwerk zu bezeichnen.

Der Client (Rechner und Programm) ist bei einer Datenübertragung für die Kontaktaufnahme verantwortlich und bestimmt deren Zeitpunkt. Das hat für den Client-Rechner den Vorteil, dass er erst zum Zeitpunkt der Kontaktaufnahme eine Netzverbindung benötigt. Dies wird als Client-Server-Prinzip bezeichnet: Der "Kunde" (Client) sagt, was er will, der "Dienstleister" (Server) erbringt (daraufhin) die gewünschte Leistung.

Der Webbrowser ist ein Beispiel für einen Client, denn er sendet bei jedem Aufruf einer Webseite eine Anfrage an einen Webserver und erhält dann von diesem eine Antwort. Der Webserver macht die meiste Zeit nichts anderes als warten. Er wird erst aktiv, wenn vom Client eine Anfrage eingeht.

Auch ein Netzwerk-Drucker ist ein Musterbeispiel für einen Server: er verhält sich zunächst gänzlich passiv und "harrt" still der Druckaufträge, die da kommen werden. Solange kein Druckauftrag kommt, tut er nichts (außer warten); wenn ein Druckauftrag ankommt, nimmt er die Daten entgegen und druckt sie aus. Danach fällt der Netzwerk-Drucker wieder in die passive Haltung zurück und beschränkt sich darauf, seine "Druckdienste" anzubieten.

Serveranwendung Funktion Clientanwendung
Web-Server
(z.B. Apache, Microsoft ISS)
Liefert HTML-Seiten aus Web-Browser
(z.B. Internet Explorer, Firefox, Crome,...)
FTP-Server
(z.B. Filezilla)
Liefert Dateien aus (nimmt evtl. Dateien an) FTP Client
(z.B. WSFTP, Filezilla, SmartFTP, WinSCP...)
Mail-Server
(z.B. MS Exchange, JanaServer)
Speichert eingehende E-Mails und liefert sie aus Mail-Programm
(z.B. MS Outlook, Thunderbird)
Proxy-Server
(z.B. MS ISA-Server, FreeProxy)
Liefert Internet-Dienste für mehrere Rechner Ins Betriebssystem integriert
File-Server Speichert Dateien und liefert sie zurück Ins Betriebssystem integriert
Media-Server
(z.B. TwonkyVision, TVersity)
Zentrale Speicherung von Videos und Musik In Abspielgeräte integriert
Print-Server Zwischenspeichern und Ausführen von Druckaufträgen Im Betriebssystem integriert
Chat-Server
(ICQ-Server)
Verteilt Online-Nachrichten an die Teilnehmer Chat-Client
(ICQ, Messanger)

Client–Server–Anwendungen sind heute Standard. Meist werden viele Server-Anwendungen auf einem (oder einigen wenigen) Rechner konzentriert (In den meisten Schulnetzen gibt es einen Server, der DHCP-Server, Fileserver, DNS-Server, Mailserver, Windows-Updateserver und vieles mehr gleichzeitig ist). Die Konzentration der Funktionalität auf den Server verringert den Administrationsaufwand und macht den einzelnen Nutzer unabhängig von einer bestimmten Hardware. So kann der Nutzer den Arbeitsort bzw. den Computer wechseln, ohne auf „seine" Dateien etc. verzichten zu müssen.

In kleineren Netzen wird ein einziger Server genügen (Ein-Server-Modell). Alle bereits oben erwähnten zentralen Dienste werden also auf einem einzigen Gerät ausgeführt. Mit zunehmender Netzgröße wird ein einzelnes Gerät jedoch möglicherweise überlastet sein. Auch aus Sicherheitsgründen kann man sich für eine Verteilung der zentralen Dienste entscheiden (Multi-Server-Modell).