IiMB Kapitel - 6 - Weitere Konzepte der Informatik - 02: Server und Clients Matthes Elstermann https://www.youtube.com/watch?v=OYNMRKiJ-o4 Transkript (automatisch erstellt) 0:06 hallo und herzlich Willkommen mein Name ist mates Elstermann und in dieser Lerneinheit beschäftigen wir uns mit dem Konzept von Server und clients in einer 0:16 anderen Lerneinheit wurde besprochen wie Daten mittels des Konzeptes des OSI schichtenmodells durch ein Stack durchgereicht werden um tatsächlich von 0:25 einem physischen Computer auf den nächsten transportiert zu werden und dass es dort Anwendung gibt und im Kontext von Datenaustausch über 0:35 Netzwerke sind ihn sicherlich schon einmal zwei Begriffe begegnet und diese zwei Begriffe sind Client und Server und hier sind die Fragen die eigentlich 0:45 leicht zu beantworten sind die aber vielen Leuten schwerfallen zu beantworten nämlich was ist denn eigentlich ein Client und noch viel mehr 0:53 was ist eigentlich ein Server und wenn man sich das letzte Wort anschaut dann ist vielleicht das was Ihnen einfällt wenn sie an Server denken das hier große 1:03 Schränke voller komischer Elektronik mit vielen Kabeln hinten dran und das wird als Server bezeichnet und in dem Sinne hätten sie recht aber nicht ganz denn 1:15 insbesondere hier ist die Frage was hat man denn eigentlich hier bzw man was macht denn diese Computer eigentlich zu Servern und die Antwort darauf ist 1:24 eigentlich relativ leicht wenn man weiß was das Wort Server beinhalten kann allgemein ist ein Server erst einmal etwas oder jemand der ein Dienst auf 1:33 Abruf anbietet im englischen ist der Begriff Server der des Dieners oder des Kellners der etwas bringt und dem gegenüber steht natürlich immer etwas 1:43 das diesen Dienst in Anspruch nimmt das ist der Client Client deswegen weil das Wort Klient im deutschen er für den Dienstnehmer eines Anwaltes reserviert 1:55 ist jetzt reden wir allerdings nicht über allgemeine Diener und Dienstnehmer sondern wir reden über Dinge in der IT im Kontext von Computernetzwerken und 2:05 auch über die zuvorgemachte Aussage dass das mit diesen Computern mit diesen speziellen noch nicht alles ist und um ihn die Frage zu beantworten wie wird 2:13 dann ein Computer eigentlich zu einem Server dann zeige ich ihn das hier ich drücke hier auf Start drücke hier auf Start und jetzt ist mein Computer ein 2:23 Server was habe ich gemacht und um ihn das zu zeigen gehe ich einfach mal in einen Browser und sage hier öffne mal die Seite 2:32 localhost81 und localhost ist tatsächlich einen Shortcut für meine eigene IP-Adresse für mich selber Port 81 ist in dem Fall als Konzept eines 2:41 portes das ist ja auch angegeben dass hier was auf Port 81 läuft und mein Browser hat mir jetzt hier eine Webseite geöffnet und wenn ich jetzt hier auf 2:52 stoppen klicke und sage lade mir das Ding mal neu und ein wenig warte dann scheitert das weil mein Computer 3:03 jetzt kein Server mehr ist machen wir wieder zum Server sagen lade das erneut und schon ist wieder alles beim Alten wenn Sie 3:13 sich jetzt fragen was habe ich denn hier gemacht das ist eigentlich relativ einfach ich habe einfach zwei Programme gestartet das eine Programm heißt Apache 3:21 webser und das andere Programm heißt MySQL undart Datenbank oder Datenbank Serverprogramm und solange diese beiden Programme im Hintergrund auf einem 3:31 Rechner laufen ich kann no mal zeigen hier läuft das apci HTTP Server Programm und hier 3:39 das MySQL Server Programm und solange diese Programme laufen beantwortet mein Rechner Anfragen aus dem Netzwerk das heißt wenn sie jetzt solange das läuft 3:49 meine IP-Adresse kennen würden und sie durch meine Firewall durchkommen könnten dann würde ihnen das Serverprogramm hier eine Antwort geben und das ist 3:59 eigentlich das Wichtigste dass man verstehen muss dass das Wort Server zuallererst einmal eine bestimmte Art von Programm meint das für die 4:08 Beantwortung von Fragen im Netzwerk geschrieben wurde und ein Client Programm ist ein korrespondierendes Programm das Anfragen in der Netzwerk 4:18 schicken kann und damit eine Antwort anfordert und die großen Computer auf den Bildern die wir vorher gesehen haben oder die Sie vielleicht auch kennen sind 4:26 zuerst einmal relativ normale Computer bzw diesen Computer die darauf schlichtweg optimiert sind viele dieser serverprogramme zum laufen zu bekommen 4:35 und sobald man dort dann eben auf diesen Computern ein Serverprogramm läuft werden diese auch als servercuter bezeichnet und wenn man weiß dass mit 4:45 dem Wort Server theoretisch eins von diesen beiden Sachen gemeint sein kann und mit klein natürlich entsprechend korrespondierend ebenso dann kann man 4:52 wiederum wenn z.B jetzt ihr itila sagt ich gehe mal kurz den Server installieren typische Aussage dann kann man ihn einfach fragen wenn man sich 5:02 unsicher ist sag mal was meinst denn du gehst du jetzt ein Programm installieren oder fängst du an irgendwie Hardware zusammenzustcken und installierst dann 5:09 darauf Windows oder meinst du beides es kann alles damit gemeint sein und ist tatsächlich den Leuten die davon Ahnung haben auch relativ egal weil sie wissen 5:17 ja was sie tun aber wenn man das noch nie gehört hat so ging es mir z.B beim ersten Mal als mich jemand gefragt habe hast du schon mal so einen Server 5:24 installiert da habe ich gedacht ja muss ich jetzt Hardware zusammenstecken und eine Variante des Windows Betriebssystems Windows Server 5:30 installieren das meinte der allerdings nicht damit der meinte nur hast du schon mal ein Programm installiert und ein Programm ausgeführt nämlich ein 5:37 bestimmtes Serverprogramm in dem Fall eben den Apache web server und wenn man das weiß ist das nicht kompliziert wenn man es nicht weiß kann man da sehr 5:44 leicht durcheinander kommen um einfach mal zu zeigen wie W man so kleinprogramme und serverprogramme schreiben kann hätten wir hier einmal 5:52 ein kleinentprogramm ein sogenannten URL Reader der nur deswegen so einfach geschrieben werden kann weil hier sehr viele Konzepte aus den javapaketen dnet 6:01 und.io benutzt werden wir haben dieses Programm hier einmal und dabei wird zum einmal z.B die Klasse URL benutzt die z.B hier drauf zugreifen kann die man 6:12 hier mit einem String instanziieren kann und dies dann ermöglicht über eine openstream Methode tatsächlich einen Datenstrom von dieser Datenquelle 6:24 anzufordern das ist hinten dran sehr viel komplizierter allerdings gibt es in vielen Programmier spren wir auch in Java die Möglichkeit eben das dadurch 6:33 sehr zu vereinfachen dass man sich eben nicht Gedanken machen muss wie funktioniert mit dem HTTP Protokoll oder wie funktioniert das dann über den osack 6:40 mit TCPIP das wird alles von anderen Programmteilen die hier irgendwo hinten dran stehen die jemand Andes programmiert hat übernommen wenn man 6:48 hier dann z.B auf Play drückt also das Programm ausführt dann passiert hier unten kryptische Dinge eigentlich wird nur das auf der Konsole ausgegeben was 6:59 man hier aus dem Buffer Reader in der so instanziert wird eben ausliest und wenn man sich das mal anschaut was ist hier gekommen dann stellt man fest das sind 7:11 erstmal irgendwelche Textdaten und diejenigen von Ihnen die wissen was hTML ist die wissen natürlich wofür das notwendig ist um ihn das mal kurz zu 7:20 zeigen wenn wir hier die Daten von kt.edu also von der gleichen IP wie hier anfordern und zwar hier in einem Br Programm dann sieht das so schön aus 7:32 allerdings wenn ich hier einmal die Tools wie den Inspektor öffne dann wird hier unten tatsächlich diese sogenannte Seitenquelltext 7:44 angezeigt denn nichts anderes hat mein einfaches Java klein Programm bekommen es hat den Seitenquelltext für diese Webseite bekommen und das Java prramm 7:52 ist natürlich viel zu primitiv das kann daraus keine grafischen Oberflächen generieren der Browser allerdings schon kann z.B zeigen dass hier z.B dieser 8:02 Teil wird beschrieben mit ID Logo Homepage mit gewissen Dingen und zeigt dann auch noch an an welcher Stelle er das entsprechende Symbol platziert hat 8:12 und ähnlich einfach könnte man sehr primitive Server implementieren über sogenannte Server sockets die in dem Fall einfach nur ein Echo erzeugen das 8:24 heißt wenn man jetzt hier diesen Server ansprechen könnte und ihm irgendwelche Daten geben würde dann würde man genau das gleiche zurückgespiegelt bekommen 8:33 aber das einfach nch mal um Ihnen kurz zeigen wie leicht man zumindest primitive Server schreiben kann wobei man auch dazu sagen muss dass heutzutage 8:40 meistens prinzipiell vorbereitete serverprogramme genutzt werden die dann wiederum ein eigenes Framework zur Bedienung mitbringen und man eigentlich 8:49 nur noch für diese Server oder im Rahmen des Frameworks dieser serverprogramme programmiert zumindest in vielen Fällen und nur noch sehr selten tatsächlich 8:58 Server wie hier von Grund auf auf http und socket Basis wirklich implementiert werden was nicht heißt dass das nicht doch manchmal genutzt und gemacht werden 9:07 muss insbesondere dann wenn man mit primitiven Rechnern arbeitet Microcontrollern oder so dann macht das durchaus Sinn zumal auch an vielen 9:14 Stellen natürlich wenn man vorgefertigtes Serverprogramm benutzen will man dafür auch schlichtwg dann Lizenzgebühren zahlen muss und ähnliches 9:21 wenn es sich nicht um Open Source Serverlösungen handelt aber damit ist diese lern abgeschlossen ich bedanke mich fürre aufmer 9:29 mein Name war elstmann und ich wünsche Ihnen viel Erfolg in kommenden lneinhiten