<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://dev.kaibel.net/index.php?action=history&amp;feed=atom&amp;title=Client-Server-Architektur</id>
	<title>Client-Server-Architektur - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://dev.kaibel.net/index.php?action=history&amp;feed=atom&amp;title=Client-Server-Architektur"/>
	<link rel="alternate" type="text/html" href="http://dev.kaibel.net/index.php?title=Client-Server-Architektur&amp;action=history"/>
	<updated>2026-08-24T22:40:01Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in dev.kaibel.net</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://dev.kaibel.net/index.php?title=Client-Server-Architektur&amp;diff=97&amp;oldid=prev</id>
		<title>PhilKa: Die Seite wurde neu angelegt: „= Client-Server-Architektur =  Die &#039;&#039;&#039;Client-Server-Architektur&#039;&#039;&#039; ist ein grundlegendes Kommunikationsmodell in der Informatik, bei dem Aufgaben und Dienste zwischen zwei Rollen aufgeteilt werden:   dem &#039;&#039;&#039;Client&#039;&#039;&#039; (Anfragender) und dem &#039;&#039;&#039;Server&#039;&#039;&#039; (Dienstanbieter).   Dieses Modell bildet die Basis vieler moderner Anwendungen wie Webdienste, E-Mail-Systeme oder Datenbanken.  == Grundprinzip ==  Der Client stellt eine **Anfrage (Request)** an den Server…“</title>
		<link rel="alternate" type="text/html" href="http://dev.kaibel.net/index.php?title=Client-Server-Architektur&amp;diff=97&amp;oldid=prev"/>
		<updated>2025-11-01T12:16:40Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Client-Server-Architektur =  Die &amp;#039;&amp;#039;&amp;#039;Client-Server-Architektur&amp;#039;&amp;#039;&amp;#039; ist ein grundlegendes Kommunikationsmodell in der Informatik, bei dem Aufgaben und Dienste zwischen zwei Rollen aufgeteilt werden:   dem &amp;#039;&amp;#039;&amp;#039;Client&amp;#039;&amp;#039;&amp;#039; (Anfragender) und dem &amp;#039;&amp;#039;&amp;#039;Server&amp;#039;&amp;#039;&amp;#039; (Dienstanbieter).   Dieses Modell bildet die Basis vieler moderner Anwendungen wie Webdienste, E-Mail-Systeme oder Datenbanken.  == Grundprinzip ==  Der Client stellt eine **Anfrage (Request)** an den Server…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Client-Server-Architektur =&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Client-Server-Architektur&amp;#039;&amp;#039;&amp;#039; ist ein grundlegendes Kommunikationsmodell in der Informatik, bei dem Aufgaben und Dienste zwischen zwei Rollen aufgeteilt werden:  &lt;br /&gt;
dem &amp;#039;&amp;#039;&amp;#039;Client&amp;#039;&amp;#039;&amp;#039; (Anfragender) und dem &amp;#039;&amp;#039;&amp;#039;Server&amp;#039;&amp;#039;&amp;#039; (Dienstanbieter).  &lt;br /&gt;
Dieses Modell bildet die Basis vieler moderner Anwendungen wie Webdienste, E-Mail-Systeme oder Datenbanken.&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
&lt;br /&gt;
Der Client stellt eine **Anfrage (Request)** an den Server, und der Server liefert eine **Antwort (Response)** zurück.  &lt;br /&gt;
Die Kommunikation erfolgt typischerweise über ein Netzwerk (z. B. TCP/IP).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client → Anfrage → Server  &lt;br /&gt;
Client ← Antwort ← Server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Komponente !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Client&amp;#039;&amp;#039;&amp;#039; || Ein Programm oder Gerät, das einen Dienst anfordert.  &lt;br /&gt;
Beispiele: Webbrowser, E-Mail-Client, App.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Server&amp;#039;&amp;#039;&amp;#039; || Ein Programm oder System, das Anfragen verarbeitet und Ressourcen oder Dienste bereitstellt.  &lt;br /&gt;
Beispiele: Webserver, Datenbankserver, Datei- oder Mailserver.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
* **Zentralisierte Struktur:** Der Server ist die zentrale Einheit für Daten und Dienste.  &lt;br /&gt;
* **Anfrage-Antwort-Prinzip:** Kommunikation erfolgt nach einem klaren Muster (Request/Response).  &lt;br /&gt;
* **Rollenverteilung:** Clients konsumieren, Server stellen bereit.  &lt;br /&gt;
* **Mehrbenutzerfähig:** Ein Server kann mehrere Clients gleichzeitig bedienen.  &lt;br /&gt;
* **Sicherheitskontrolle:** Zugriffsrechte und Authentifizierung werden zentral verwaltet.&lt;br /&gt;
&lt;br /&gt;
== Beispielhafte Kommunikation ==&lt;br /&gt;
Ein typischer Ablauf zwischen Webbrowser (Client) und Webserver:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
1. Client: sendet HTTP-GET-Anfrage an Server&lt;br /&gt;
2. Server: empfängt Anfrage, sucht angeforderte Datei&lt;br /&gt;
3. Server: sendet HTTP-Response mit HTML-Daten zurück&lt;br /&gt;
4. Client: zeigt die Website an&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Architekturvarianten ==&lt;br /&gt;
=== 1. Zwei-Schichten-Architektur (2-Tier) ===&lt;br /&gt;
Client kommuniziert direkt mit dem Server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client ↔ Server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Datenbankanwendung, bei der ein Client direkt SQL-Abfragen an den DB-Server sendet.&lt;br /&gt;
&lt;br /&gt;
=== 2. Drei-Schichten-Architektur (3-Tier) ===&lt;br /&gt;
Trennung zwischen Präsentation, Logik und Datenhaltung.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client ↔ Applikationsserver ↔ Datenbankserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Webanwendungen (Browser – Webserver – Datenbank).&lt;br /&gt;
&lt;br /&gt;
=== 3. Mehrschichten-Architektur (n-Tier) ===&lt;br /&gt;
Erweiterung des 3-Tier-Modells mit zusätzlichen Schichten (z. B. Caching, Authentifizierung, Microservices).&lt;br /&gt;
&lt;br /&gt;
== Vergleich zu Peer-to-Peer-Architekturen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Merkmal !! Client-Server !! Peer-to-Peer&lt;br /&gt;
|-&lt;br /&gt;
| Struktur || Zentralisiert || Dezentral&lt;br /&gt;
|-&lt;br /&gt;
| Kontrolle || Server verwaltet Ressourcen || Alle Knoten gleichberechtigt&lt;br /&gt;
|-&lt;br /&gt;
| Ausfallsicherheit || Gering (Server als Single Point of Failure) || Hoch (Redundanz)&lt;br /&gt;
|-&lt;br /&gt;
| Skalierbarkeit || Abhängig von Serverkapazität || Sehr hoch (mit wachsender Teilnehmerzahl)&lt;br /&gt;
|-&lt;br /&gt;
| Verwaltung || Einfach zentral steuerbar || Komplex, da verteilt&lt;br /&gt;
|-&lt;br /&gt;
| Beispiele || Web, E-Mail, Datenbanken || BitTorrent, Blockchain, Skype (alt)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
* Zentrale Verwaltung von Daten, Sicherheit und Ressourcen  &lt;br /&gt;
* Einfachere Wartung und Kontrolle  &lt;br /&gt;
* Klare Rollenverteilung (Client = Anfrage, Server = Antwort)  &lt;br /&gt;
* Hohe Konsistenz durch zentrale Datenhaltung  &lt;br /&gt;
* Gut geeignet für Unternehmensnetzwerke und Webdienste&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
* Abhängigkeit von der Serververfügbarkeit (Single Point of Failure)  &lt;br /&gt;
* Begrenzte Skalierbarkeit bei hoher Last  &lt;br /&gt;
* Erhöhter Ressourcenbedarf auf Serverseite  &lt;br /&gt;
* Potenzielle Engpässe bei Netzwerkbandbreite  &lt;br /&gt;
&lt;br /&gt;
== Typische Anwendungen ==&lt;br /&gt;
* **Webserver:** Bereitstellung von Webseiten über HTTP/HTTPS  &lt;br /&gt;
* **Datenbankserver:** Speicherung und Verwaltung strukturierter Daten  &lt;br /&gt;
* **Mailserver:** Versand, Empfang und Speicherung von E-Mails  &lt;br /&gt;
* **Dateiserver:** Gemeinsame Nutzung von Dateien im Netzwerk  &lt;br /&gt;
* **Anwendungsserver:** Ausführung von Geschäftslogik und Backend-Prozessen  &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsprotokolle ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Protokoll !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;HTTP / HTTPS&amp;#039;&amp;#039;&amp;#039; || Übertragung von Webinhalten || Webbrowser ↔ Webserver&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;FTP / SFTP&amp;#039;&amp;#039;&amp;#039; || Dateiübertragung || FileZilla ↔ FTP-Server&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SMTP / POP3 / IMAP&amp;#039;&amp;#039;&amp;#039; || E-Mail-Kommunikation || Outlook ↔ Mailserver&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;MySQL / PostgreSQL&amp;#039;&amp;#039;&amp;#039; || Datenbankabfragen || Anwendung ↔ Datenbankserver&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SSH / Telnet&amp;#039;&amp;#039;&amp;#039; || Remote-Verbindungen || Terminal ↔ Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sicherheit ==&lt;br /&gt;
In der Client-Server-Architektur sind zentrale Schutzmechanismen wichtig:&lt;br /&gt;
* **Authentifizierung:** Überprüfung der Identität (z. B. Benutzername/Passwort, Zertifikate)  &lt;br /&gt;
* **Autorisierung:** Kontrolle des Zugriffs auf bestimmte Ressourcen  &lt;br /&gt;
* **Verschlüsselung:** Schutz der Kommunikation (z. B. TLS/SSL)  &lt;br /&gt;
* **Firewalls:** Begrenzen den Zugriff auf Serverports  &lt;br /&gt;
* **Load Balancing:** Verteilung von Anfragen auf mehrere Server zur Lastreduzierung  &lt;br /&gt;
&lt;br /&gt;
== Erweiterte Konzepte ==&lt;br /&gt;
* **Cluster-Server:** Mehrere Server arbeiten zusammen, um Ausfallsicherheit zu erhöhen.  &lt;br /&gt;
* **Load Balancer:** Verteilt Anfragen auf mehrere Server-Instanzen.  &lt;br /&gt;
* **Microservices:** Zerlegung der Serverfunktionen in unabhängige Module.  &lt;br /&gt;
* **Cloud-Architekturen:** Serverdienste werden virtuell über Rechenzentren bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
== Beispiel einer modernen Webarchitektur ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Browser]&lt;br /&gt;
   ↓&lt;br /&gt;
[Webserver / API Gateway]&lt;br /&gt;
   ↓&lt;br /&gt;
[Application Server]&lt;br /&gt;
   ↓&lt;br /&gt;
[Datenbankserver]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
Die Client-Server-Architektur ist das **dominante Kommunikationsmodell** moderner IT-Systeme.  &lt;br /&gt;
Sie bietet **Zentralisierung, Kontrolle und Einfachheit**, eignet sich aber weniger für hochverteilte oder ausfallsichere Systeme, bei denen **Peer-to-Peer** oder **verteilte Architekturen** Vorteile haben.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Peer-to-Peer-Netzwerke (P2P)]]&lt;br /&gt;
* [[Event-Driven Architecture]]&lt;br /&gt;
* [[Microservices]]&lt;br /&gt;
* [[Distributed Systems]]&lt;br /&gt;
* [[Reactor-Entwurfsmuster]]&lt;br /&gt;
* [[Proactor-Entwurfsmuster]]&lt;br /&gt;
* [[OSI-Modell]]&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
* Andrew S. Tanenbaum: *Computer Networks*, 5th Edition  &lt;br /&gt;
* Kurose, Ross: *Computer Networking – A Top-Down Approach*  &lt;br /&gt;
* [https://en.wikipedia.org/wiki/Client%E2%80%93server_model Wikipedia: Client–Server Model]  &lt;br /&gt;
* RFC 2616: *Hypertext Transfer Protocol (HTTP/1.1)*  &lt;br /&gt;
* [https://www.ietf.org/ IETF Standards]&lt;/div&gt;</summary>
		<author><name>PhilKa</name></author>
	</entry>
</feed>