Client-Server-Vernetzung ist ein Paradigma, das am häufigsten in der weltweiten Vernetzung verwendet wird. Wie der Name ziemlich klar macht, besteht die Definition eines Client-Server-Netzwerks darin, dass eine der beteiligten Parteien als Client fungiert und die andere als Server fungiert.
In diesem Augenblick fungiert beispielsweise Ihr Computer als Client, der diese Webseite vom MakeUseOf-Server anfordert, der dann glücklich mit der angeforderten Seite antwortet. Der Kunde erhält die Seite und zeigt sie Ihnen, so dass Sie diesen wundervollen Artikel lesen können!
Das ist der Kern davon. Wenn Sie sich jemals selbst oder jemand anderem erklären müssen, was Client-Server-Netzwerk oder Client-Server-Computing ist, dann reicht es aus, es mit dem obigen Beispiel zu erklären. Wenn Sie jedoch daran interessiert sind, ein wenig tiefer in die Definition eines Client-Server-Netzwerks einzutauchen, können Sie gerne mitkommen.
Wie kommunizieren Kunden und Server?
Ich habe im obigen Beispiel erwähnt, dass "Ihr Computer den MakeUseOf-Server für eine Webseite anfordert". Sie könnten fragen, wie das passiert? Kommunizieren sie auf Englisch oder Deutsch oder Französisch? Eigentlich keiner von denen. Es gibt auch keine einzige Kommunikationssprache. Clients und Server verwenden spezielle Nachrichten, die einem gemeinsamen Protokoll entsprechen, um miteinander zu kommunizieren.
Das Protokoll- und Nachrichtenformat muss vorher vereinbart werden oder es kann keine Kommunikation stattfinden. Als Beispiel geben die " http: // ", die Sie in die Adressleiste Ihres Browsers eingeben, an, dass Sie HTTP oder HyperText Transfer Protocol verwenden, um mit dem Server zu kommunizieren. Das Bild oben zeigt eine Beispiel-HTTP-Anfrage, wenn ich zu Google India gehen wollte.
Von Ports und Servern
Okay, jetzt wissen Sie, dass Ihr Computer HTTP sprechen kann. Bedeutet das, dass die gesamte Kommunikation über das Internet HTTP verwendet? Oder wie würde mein Computer wissen, wann er welches Protokoll benutzen soll? Dies sind die Fragen, die ich in diesem Abschnitt beantworten werde. Zuallererst lassen Sie mich einige Dinge klären - bis jetzt habe ich eine 10.000-Fuß-Ansicht des gesamten Client-Server-Netzwerkparadigmas vorgestellt, in dem die Computer entweder als Client oder als Server agierten.
Jetzt ist es Zeit zu zoomen und ein detailliertes Aussehen zu haben. Gehen wir zurück zum Beispiel der Webseite, ist es tatsächlich Ihr Webbrowser, der als der wahre Client agiert. Da Sie mehrere Anwendungen gemeinsam auf Ihrem Computer ausführen können, kann Ihr Computer tatsächlich als Client für mehrere Server fungieren oder sich darauf vorbereiten - mit entsprechender Software kann er auch als Client und als Server fungieren.
Immer noch verwirrt von dieser Definition eines Client-Server-Netzwerkes? Gestatten Sie mir, klarzustellen. Angenommen, Sie haben Google Chrome und FileZilla (ein FTP-Client, FTP ist ein anderes Protokoll), kann Ihr Computer jetzt eine Verbindung zu einem Webserver über HTTP und einen FTP-Server herstellen und somit als Client fungieren und Inhalte von zwei Servern anfordern. Ebenso installieren Sie die entsprechende Software und Sie können mit jeder Art von Server kommunizieren. Die Protokollimplementierung ist in diese Anwendungen programmiert.
Nun, wenn Sie Seite an Seite auch etwas wie IIS oder Apache auf Ihrem Computer installieren, kann Ihr Computer als Server für andere Clients fungieren und Anfragen für Webseiten ausführen (sowohl IIS als auch Apache sind Webserver-Software). In der Tat können Sie versuchen, " http: // localhost " in Ihrem Webbrowser zu verwenden, und es wird eine Verbindung mit der Webserver-Software hergestellt, die Sie auf Ihrem Computer installiert haben, um eine Webseite anzuzeigen.
Sie können sogar mehrere Server-Software auf Ihrem Computer installieren. So kann beispielsweise ein einzelner Computer als Webserver für die Bereitstellung von Webseiten und als FTP-Server für die Übertragung von Dateien verwendet werden. Die Serversoftware überwacht im Wesentlichen die so genannten Ports auf Ihrem Computer. Immer wenn eine Anfrage an einem bestimmten Port eingeht, wird der entsprechende Server aktiv und antwortet. Apache hört zum Beispiel Port 80 ab, und Browser wissen, dass sie standardmäßig Anfragen an Port 80 senden. Wann immer eine Anfrage auf Port 80 ankommt, antwortet Apache mit einer Webseite.
Um alles zusammenzufassen, verwendet Software auf Ihrem Computer die Hardware Ihres Computers, um eine Anfrage in einem bestimmten Format zu initiieren. Diese Anfrage wird dann über das Netzwerk an den entsprechenden Server übertragen (unter Verwendung von IP-Adressen), der dann die installierte Server-Software verwendet, um etwas zu verarbeiten, und antwortet mit den Ergebnissen.
Fragen?