webServerwebServer
Funktionsweise & Technik
ÜberblickÜberblick
• Einstieg
• Kommunikation Server & Client
• Was ist das Internet wirklich?
• Clients & Server
• IP-Adressen
• Domänen Namen
• Name Server
• Ports
01
02
03
04
05
06
07
08
09
10
ÜberblickÜberblick
• Protokolle
• Zusammenfassung
• Zusatzinfos Sicherheit dynamische Seiten
01
02
03
04
05
06
07
08
09
10
EinstiegEinstieg
• Die grundlegende Arbeitsweise im web:01
02
03
04
05
06
07
08
09
10
Benutzer gibt eine
Adresse im Browser ein
Server sendet d
ie
gefundene Datei retour
Kommunikation: Client-ServerKommunikation: Client-Server
• Seite wird vom webServer abgerufen. Browser zerteilt die URL in drei Teile:• Das Protokoll: http• Den Servernamen: www.bytebros.cc• Den Dateinamen: index.html
DNS-Anfrage erfolgt• Browser kommuniziert mit einem DNS um die
IP-Adresse zu erhalten.• Browser baut mit der IP-Adresse eine
Verbindung zum webServer über Port 80 auf.
02
03
04
05
06
07
08
09
10
11
12
Kommunikation: Client-ServerKommunikation: Client-Server
• GET-Anfrage über HTTP-Protokoll an den Server.• Datei index.html wird vom Server
gesucht• Wird die Datei auf dem Server
gefunden, sendet dieser den reinen HTML-Text retour.• Browser nimmt den Text und die HTML-
Tags an und formatiert ihn für den Bildschirm.
03
04
05
06
07
08
09
10
11
12
13
14
15
Was ist das Internet?Was ist das Internet?
04
05
06
07
08
09
10
11
12
13
14
15
Was ist das Internet?Was ist das Internet?
• ist eine riesige Sammlung von Computern
• alle sind zu einem Netzwerk zusammen geschlossen
• Netzwerk erlaubt den Computern unter-einander zu kommunizieren
• Heimcomputer ist vielleicht mittels Telefonleitung DSL Kabelmodem
• über einen ISP mit dem Internet verbunden.
05
06
07
08
09
10
11
12
13
14
15
Was ist das Internet?Was ist das Internet?
• Ein Firmencomputer oder Computer in einer Ausbildungseinrichtung ist • mit einer Netzwerkkarte (NIC)
ausgestattet • mit einem lokalen Netzwerk (LAN)
verbunden• Dieses ist über DSL oder eine
Standleitung mit einem ISP verbunden.
06
07
08
09
10
11
12
13
14
15
Was ist das Internet?Was ist das Internet?
• regionale ISPs sind mit lokalen ISPs verbunden. • lokalen ISPs sind an nationale ISPs
angebunden• nationale ISPs unterhalten die
Backbones (meist Glasfaser) • ergibt ein weltweites Netzwerk
07
08
09
10
11
12
13
14
15
16
17
18
19
20
Client & ServerClient & Server
• im web gibt es zwei Typen von Computer: Client Server
• Alle Maschinen welche anderen Computern Dienste anbieten sind Server
• Computer welche die angebotenen Dienste nutzen sind Clients
08
09
10
11
12
13
14
15
16
17
18
19
20
Client & ServerClient & Server
• Sie verbinden sich mit www.google.at
• Google stellt einen Computer zur Verfügung: einen Server sendet die angeforderte Seite zu ihrem
Computer
• Ihr Computer stellt keinem Computer einen Dienst zur Verfügung: er ist also ein Client
09
10
11
12
13
14
15
16
17
18
19
20
Client & ServerClient & Server
• Normalerweise werden Computer gleichzeitig als Client als Server eingesetzt.
• Für das Verständnis kann man davon ausgehen, dass jeder Computer nur eines von beiden ist.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Client & ServerClient & Server
• Server-Computer kann einen oder mehrere Dienste anbieten.
• Zum Beispiel HTTP-Dienste und FTP-Dienste und eMail-Dienste
• Clients fordern den jeweiligen Dienst an
• Dienste werden auch als Server bezeichnet
• Server ist ein Computer und auch ein Dienst
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Client & ServerClient & Server
• Client verbindet sich mit einem Webbrowser zu einem Server: der HTTP-Dienst wird angefordert
• Das eMail-Programm kommuniziert mit dem eMail-Server
• Die TelNet-Applikation verbindet sich mit dem TelNet-Server
• und so weiter und so fort
12
13
14
15
16
17
18
19
20
21
22
23
24
25
IP-AdressenIP-Adressen
• damit Computer kommunizieren können, benötigen sie eine eindeutige Kennung:• die IP-Adresse.
sind 32-Bit-Zahlen 232 Möglichkeiten
• werden in 4 Octets geschrieben ein Octet repräsentiert 8 Bit (= 28) mit Punkten getrennt
• Beispiel: 192.168.12.91192.168.12.91
13
14
15
16
17
18
19
20
21
22
23
24
25
IP-AdressenIP-Adressen
• Octet kann ein Wert zwischen 0 und 255 sein.• Jeder Computer im Internet hat eine
eindeutige IP-Adresse• Server haben meistens eine statische
Adresse• Heimcomputer erhalten bei jedem
Einwahlvorgang eine neue IP-Adresse von ihrem ISP Diese Adresse ist nur während der Sitzung aktiv
14
15
16
17
18
19
20
21
22
23
24
25
IP-AdressenIP-Adressen
• auf einem Windows-Rechner zeigt ipconfig.exe die aktuelle IP-Adresse
15
16
17
18
19
20
21
22
23
24
25
HandsOnHandsOn1. Im Startmenü den Befehl
Ausführen… aufrufen.2. Den Befehl cmd eingeben und mit
[Enter] bestätigen.3. Den Befehl ipconfig.exe eingeben
und mit [Enter] bestätigen.
IP-AdressenIP-Adressen
• Solange man mit Computern über das Internet arbeitet, reicht eine IP-Adresse• man kann im Browser die IP-Adresse
64.176.59.212 eintippen man sieht die Startseite von Byte Brothers
• ist nicht sehr komfortabel• dafür gibt es DNS-Server
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
• lange Zahlen merken ist schwer
• IP-Adressen kann sich ändern
• Server im Internet haben einen lesbaren Namen: Domänen Namen
• Es ist einfacher www.bytebros.cc statt 64.176.59.212
• zu verwenden
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
18
19
20
21
22
23
24
25
26
27
HandsOnHandsOn1. In der Adresszeile des Browser die
IP-Adresse 64.176.59.212 eintippen und mit [Enter] bestätigen.
2. Ein zweites Browser-Fenster öffnen.3. In der Adresszeile des Browser
www.bytebros.cc eintippen und mit [Enter] bestätigen.
Domänen NamenDomänen Namen
• www.bytebros.cc besteht aus drei Teilen: dem Hostnamen: www dem Domänennamen: bytebros dem Top-Level-Domänen Namen: cc
• TLDs (Top-Level-Domains) werden von Registrars verwaltet
• Domänenname wird vom Inhaber beantragt
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
• Registrar stellt Einmaligkeit des Namens in der TLD sicher keine rechtliche Prüfung keine Prüfung auf Namensrechts
• Registrar verwaltet WhoIs-Datenbank WhoIs • kann von jedermann aufgerufen werden• enthält Inhaberdaten • enthält DNS-Server• enthält Server Standort
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
• Der Hostname, ist ein allgemeiner Teil wird zur Identifikation des Servers
verwendet ist nicht zwingend www Beispiel • WikiPedia verwendet Sprachkürzel
(de, en, fr, …) als Hostname• Microsoft verwendet encarta für seinen
Lexikonserver
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
22
23
24
25
26
27
28
29
30
31
32
33
34
35
HandsOnHandsOn1. Rufen Sie in ihrem Browser den
Registrar für Österreich www.nic.atwww.nic.at auf.
2. Suchen Sie die WhoIs WhoIs-Datenbank.3. Finden Sie heraus wer der Inhaber
von schule.atschule.at ist?
23
24
25
26
27
28
29
30
31
32
33
34
35
Domänen NamenDomänen Namen
24
25
26
27
28
29
30
31
32
33
34
35
Namen ServerNamen Server
• Server stellen DNS-Dienst zur Verfügung
• Server verbindet IP-Adressen mit den Domänennamen
• Server sind quer über das Internet verstreut
• einige zentrale DNS-Server erhalten Daten direkt von Registrars
• ISPs, Ausbildungseinrichtungen, Unternehmen betreiben eigene DNS-Server vermindert Datenverkehr Domänenname wird schneller aufgelöst
25
26
27
28
29
30
31
32
33
34
35
Namen ServerNamen Server
• Sobald sie den Namen www.bytebros.cc im Browser eintippen,
• werden ein oder mehrere DNS-Server angefragt
• um die derzeit gültige IP-Adresse zu erhalten
Film zur DNS-Funktion zeigen
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
ZusammenfassungZusammenfassung
• Internet besteht aus Millionen von Computern• einige sind Server (auch Host genannt)
bieten Dienste anderen Rechnern (Clients) an
• Computer im Internet haben eindeutige Zahlen, die IP-Adresse kommunizieren über Protokolle.
• Domäne wird bei einem Registrar beantragt• Registrar stellt sicher, dass der Name in der
TLD eindeutig ist• DNS-Server verbinden Domäne mit einer IP-
Adresse
27
28
29
30
31
32
33
34
35
36
37
38
39
40
PortsPorts
• Jeder Server stellt Dienste über nummerierte Ports zur Verfügung
• jeder Service hat einen eindeutigen Port
• ein webServer zur Verfügung benutzt Port 80
• der FTP-Dienst verwendet Port 20 & 21
• Clients verbinden sich über ein Protokoll mit einem Dienst und einem Port
28
29
30
31
32
33
34
35
36
37
38
39
40
PortsPorts
• Viele Portnummern sind genormt Client kennt den Port mit der er sich verbinden
muss Server kennt die Nummer des Ports den er
anbieten muss
• jeder Client kann sich mit Port verbinden Server bietet Port an Port ist nicht durch eine Firewall geschützt
29
30
31
32
33
34
35
36
37
38
39
40
PortsPorts
• Kein Zwang genormte Ports zu verwenden• es ist möglich einen webServer unter
http://www.besonderes.at mit Port 1307 zu betreiben
• jeder Benutzer muss den Port direkt angeben: http://www.besonderes.at:1307
• sonst wird die URL nicht gefunden• Mit :1307 wird die Standardeinstellung des
Browsers (Port 80 bzw. 8080) überschrieben
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• ein Client kann einen Dienst nutzen wenn ein Port verbunden ist wenn das Protokoll beherrscht wird
• Protokoll ein Abkommen, mit dem Computer
kommunizieren meist nur einfacher Text legt die Art der Kommunikation fest legt den Ablauf der Kommunikation fest
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• einfachste Protokoll ist daytime. • aktuelle Zeit und Datum des Servers
abfragen: mit einen Server auf Port 13 verbinden der Server bietet daytime-Dienst an
• Ein üblicher Kommunikationsablauf:
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• time-a.nist.gov ist der Server • 13 ist der Port
TelNet verbindet standardmäßig auf Port 23
• Angabe des Ports 13 zwingt telnet sich mit daytime zu verbinden
HandsOnHandsOn1. Im Startmenü Ausführen… aufrufen.2. Befehl cmd eingeben, mit [Enter]
bestätigen.3. Befehl telnet time-a.nist.gov 13
eingeben, mit [Enter] bestätigen.
33
34
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• viele Protokolle verlangen mehr als das daytime-Protokoll • beispielsweise das HTTP-Protokoll
webServer muss dieses Protokoll verstehen
einfachste Kommando istGET Dateiname
34
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• Beispiel um index.html von www.schule.at mittels telnet abzurufen
35
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
• In der Urversion des HTTP-Protokolls wurde nur der Dateiname übergeben• erst später wurde der Domänen-Name
eingebunden ISPs können damit virtuelle Domänen
erzeugen sind Domänen unter derselben IP-Adresse
36
37
38
39
40
41
42
43
44
45
ProtokolleProtokolle
HandsOnHandsOn1. Im Startmenü den Befehl Ausführen…
aufrufen.2. Befehl cmd eingeben und mit [Enter]
bestätigen.3. Den Befehl
telnet www.studentenheim.at 80 eingeben und mit [Enter] bestätigen.
4. Den Befehl GET index.html eingeben und mit [Enter] bestätigen.
37
38
39
40
41
42
43
44
45
46
ZusammenfassungZusammenfassung
• die URL in die Adresszeile des Browser wird in drei Teile aufteilt Das Protokoll: http Den Servernamen: www.bytebros.cc Den Dateinamen: index.php
• Browser kommuniziert mit DNS-Server erfährt IP-Adresse von www.bytebros.cc
• Browser benutzt die 32-Bit Zahl um sich zu verbinden den Port 80 (bzw. 8080) das HTTP-Protokoll
38
39
40
41
42
43
44
45
46
ZusammenfassungZusammenfassung
• Browser sendet über HTTP-Protokoll eine GET-Anforderung • webServer sendet reinen HTML-Text
zurück• Browser
interpretiert die HTML-Tags formatiert den Text mit diesen Tags zeigt die komplette Seite an
39
40
41
42
43
44
45
46
SicherheitSicherheit
• webServer ist eine einfache Applikation übernimmt den Dateinamen vom GET-
Befehl sucht die Datei auf seinen Festplatten schickt sie an den Client zurück Auch wenn man die ganze Port-Verwaltung
einbaut, lässt sich ein webServer mit unter 1.000 Zeilen Quellcode programmieren.
• Professionelle webServer haben noch zusätzliche Sicherheitskonzepte
40
41
42
43
44
45
46
SicherheitSicherheit
• passwortgeschützte Seite verlangt Benutzernamen Passwort
• webServer bietet Administrator an Benutzer mit Passwörtern anzulegen Benutzer können Berechtigung auf Dateien und
Verzeichnisse erhalten
• Aufbau einer verschlüsselten Verbindung zwischen Server und Client ermöglicht geheime Daten zu übertragen ohne Verschlüsselung wird reiner Text übertragen
41
42
43
44
45
46
dynamische Seitendynamische Seiten
• statische webSeiten werden erstellt auf dem webServer ablegt manuelle Änderung durch Person
• dynamische Seiten werden mit der Anfrage beim webServer
erzeugt können sich jederzeit ändern
42
43
44
45
46
dynamische Seitendynamische Seiten
• auf einer webSite befindet sich ein Gästebuch werden mit einem HTML-Formular Nachrichten eintragen Formular wird ausgefüllt und abgesendet beim nächsten Aufruf ist der Eintrag zu sehen
• auf www.nic.at im Formular zur Domänenabfrage kann jeder beliebige Domänennamen eingeben werden je nach Eingabe wird eine HTML-Datei generiert
• Eine Suchmaschine gewünschten Suchbegriffe eingeben und absenden webServer erzeugt die passende Seite mit den Suchwörtern
43
44
45
46
dynamische Seitendynamische Seiten
• der Server sendet keine fertige Datei verarbeitet die Eingaben generiert eine Seite die zur Abfrage passt
• ist eine Technik die CGI genannt wird eine Möglichkeit am webServer Skripts, zu starten
• Skripts sammeln notwendige Informationen formatiert diese Daten erzeugt eine temporäre Datei sendet Datei wie eine normale (statische) HTML-Datei retour
• Informationen sind in einer SQL-Datenbank abgelegt
Top Related