Loading ⌛Loading ⌛

💻-🌐-💻 Webserver betreiben

🎯 Worum geht es?1)

  • Du richtest einen Webserver mit einer Webseite ein.
  • Du lernst, wie sichergestellt wird, dass alles beim Browser ankommt und warum Videos bei schlechter Verbindung grosse Verluste in der Qualität aufweisen können.
  • Du erfährst etwas über die Grösse und Zuverlässigkeit des Internets.
  • Du erfährst, ob und wie du eine Webadresse mit deinem Namen drin reservieren kannst.
Inhaltsverzeichnis

1. Webserver einrichten und testen

Webserver
Ein Webserver ist eine Software, welche Webseiten bereitstellt. Dazu muss der Webserver auf einem Rechner laufen, der von anderen Rechnern über ein Netzwerk oder das Internet erreichbar ist.
✍ Auftrag – Filius 11

Loading ⌛ 👉 Richte einen Webserver mit einer Webseite ein.

  1. Öffne in Filius das Netzwerk, welches du unter dem Namen Filius10 abgespeichert hattest.
  2. Installiere auf dem Server 0.12 einen Webserver und einen Texteditor.
  3. Starte den Texteditor, klicke auf Öffnen und öffne im Ordner webserver die Datei index.html.
  4. Die Datei index.html erzeugt die „Default-Webseite“ welche angezeigt wird, wenn keine spezifische Webseite beim Webserver angefragt wird.
  5. Ergänze unten in index.html vor der Zeile </body> die Zeile <p><a href="kontakt.html">Kontakt</a></p>. Diese Zeile sorgt dafür, dass über den Link Kontakt die Webseite kontakt.html geöffnet werden kann.
  6. Speichere index.html.
  7. Klicke auf Datei und Neu und kopiere folgenden Text in den Texteditor (natürlich darfst du auch einen anderen Kontakt angeben):
    <html>
      <head>
        <title>Kontaktseite</title>
      </head>
      <body bgcolor="#ccddff" style="font-family:Verdana; text-align:center;">
        <h2>Kontakt</h2>
        <p>Sugar Ray Emmenegger, Allesweg 42, 0007 Bondhausen</p>
      </body>
    </html>
  8. Speichere das File im Ordner webserver unter dem Namen kontakt.html ab - schon hast du deine Kontakt-Webseite erstellt.
  9. Speichere das Netzwerk unter Filius11 ab, dieses wird für den Auftrag Filius 12 gebraucht.
  10. Markiere danach diesen Auftrag als „Erledigt“.
URL
Uniform Resource Locator 2)
Der Uniform Resource Locator (URL) fragt die gewünschte Webseite beim zugehörigen Server an. Die URL besteht aus dem Protokoll (meist https oder http) den Zeichen ://3), dem Domain-Namen (z.B. google.ch) oder auch einer IP-Adresse (z.B. 216.58.215.2274)) und weiteren optionalen Zusätzen (siehe Abbildung). Ebenso ist es möglich den Port mit anzugeben, (z.B. 216.58.215.227:80) um eine spezifische Software auf dem Server zu kontaktieren.
✍ Auftrag – Filius 12

Loading ⌛ 👉 Rufe auf deinem Webserver eine Webseite auf.

⚠️ Achtung! Es dauert eine ganze Weile, bis in diesem Auftrag das Bild angezeigt wird!

  1. Öffne in Filius das Netzwerk, welches du unter dem Namen Filius11 abgespeichert hattest.
  2. Starte auf dem Server 0.12 den Webserver.
  3. Installiere auf dem Rechner 1.11 einen Webbrowser.
  4. Stelle sicher, dass du für den nächsten Schritt das Netzwerk sehen kannst und beachte, wie viele Daten beim Aufruf der Webseite hin und hergeschickt werden.
  5. Starte den Browser und baue eine Verbindung zum Webserver auf, indem du die URL 192.168.0.12 eingibst.
    💡 Du kannst die Webseite nicht über einen Domain-Namen wie z.B. http://filius.ch aufrufen, da noch kein Domain-Name mit dem Webserver verknüpft ist.
  6. Klicke in der angezeigten Webseite auch auf Kontakt - nun sollte auch die Kontaktseite angezeigt werden.
  7. Speichere das Netzwerk unter Filius12 ab, dieses wird für den Auftrag Filius 13 gebraucht.
  8. Markiere danach diesen Auftrag als „Erledigt“.

2. Webserver verstehen

💡 Du besitzt bereits alles theoretische Wissen, um zu verstehen, wie ein Webserver eine Webseite zum Browser schickt.

✍ Auftrag – Filius 13

Loading ⌛ 👉 Rufe auf deinem Webserver eine Webseite auf.

  1. Öffne in Filius das Netzwerk, welches du unter dem Namen Filius12 abgespeichert hattest.
  2. Starte auf dem Server 0.12 den Webserver.
  3. Starte auf dem Rechner 1.11 einen Webbrowser und öffne die URL 192.168.0.12.
  4. Öffne den Datenaustausch durch einen Rechtsklick auf den Router. Was du siehst sollte ähnlich aussehen, wie im nachfolgenden Screenshot.
  5. Arbeite mit dem Screenshot weiter. Studiere im Screenshot die Zeilen 6 bis 9
    • In Zeile 6 fragt der Client (192.168.1.10) den Server (192.168.0.12) nach der Webseite.
    • In Zeile 7 quittiert der Server den Erhalt der Anfrage und sagt, dass seine nächste Nachricht die Sequenznummer SEQ 1976954105 tragen wird.
    • Für Zeile 8 sind die Details gezeigt. Der Server sendet den Webseiteninhalt wie versprochen mit der SEQ 1976954105.
    • In Zeile 9 quittiert der Client den Erhalt der Anfrage. Dabei sendet dieser als ACK die Summe aus der SEQ 1976954105 und der Länge der empfangenen Nachricht vom Server 625, d.h. 1976954730. Somit kann der Server prüfen ob alles angekommen ist.
  6. Studiere den Screenshot der Zeilen 12 bis 15
    • Für Zeile 12 sind die Details gezeigt. Der Server fängt hier an, dem Client den ersten Teil des Bildes splashscreen-mini.png mit der SEQ 1976954730 zu schicken.
    • In Zeile 13 quittiert der Client den Erhalt mit der ACK: SEQ + Länge empfangene Nachricht (hier ACK 1976956190).
    • In Zeile 14 fährt der Server dann mit dem zweiten Teil des Bildes und der SEQ 1976956190 weiter.
    • In Zeile 15 quittiert der Client wiederum den Erhalt mit der ACK: SEQ + Länge empfangene Nachricht (hier ACK 1976957650) usw.
      💡 Der Client braucht für die Bestätigungen zweimal die gleiche SEQ 1567377971, da es sich um ein „Objekt“ handelt, dass in mehreren Teilen verschickt wird.
  7. 💡 Mit dem oben beschriebenen Vorgehen können Server und Browser prüfen, ob alles verschickt und angekommen war. Geht etwas verloren, wird das Verloren nachgeschickt. Für die Übertragung von Video Livestreams eignet sich dieses Vorgehen jedoch nicht, warum? Halte deine Vermutung zuerst im Textfeld fest. Lese danach diese Erklärung Loading ⌛
  8. Markiere danach diesen Auftrag als „Erledigt“.


3. Exkurs Schweizer Netz und Internet

💡 Hier erfährst du einiges über das Internet: seine ungefähre Grösse, welche Wege die Daten hindurchfinden und wie es um das Schweizer Netz bestellt ist.

✍ Auftrag – Grösse des Internets

Loading ⌛ 👉 Finde heraus, wie gross das Internet ist und welche Wege eine Webseitenanfrage durch das Internet nimmt.

  1. Stöbere auf der Webseite internetlivestats.com etwas herum. Dort werden diverse Angaben über einen möglichst aktuellen Umfang des Internets statistisch abgeschätzt.
    ⚠️ Die Angaben sind sicherlich mit Vorsicht zu geniessen, aber die Grössenordnungen werden einigermassen zutreffen.
  2. Auf der Webseite DNSTools Traceroute wird auf einer Karte gezeigt, auf welchen Weg eine Webseite von Frankfurt aus aufgerufen wird. Somit kannst du in etwa auf der Karte sehen, welchen Weg eine Webseitenanfrage durch das Internet nimmt. Teste das doch mit einem Aufruf von ksso.so.ch oder einer anderen Webseite.
    ⚠️ Eine Webseitenanfrage muss nicht immer denselben Weg nehmen, der Weg hängt unter anderem auch von der Auslastung des Internets ab.
  3. Markiere diesen Auftrag als „Erledigt“.
✍ Auftrag – Zustand des Schweizer Netzes

Loading ⌛ 👉 Finde heraus, wie es um das Schweizer Netz steht.

  1. Auf der Webseite SWITCHlan Trafic Viewer kannst du sehen, wie stark die Hauptleitungen des Schweizer Netzes ausgelastet sind. Wie ist es aktuell um das Schweizer Netz bestellt?
  2. Auf der Webseite SWITCHlan Trouble Tickets kannst du sehen, ob und wo aktuell Probleme im Schweizer Netz vorliegen. Wie ist es aktuell um das Schweizer Netz bestellt?
  3. Markiere diesen Auftrag als „Erledigt“.


4. Exkurs Domain-Namen

💡 Hier erfährst du, wie du einen Domain-Namen reservieren kannst und warum dein Browser weiss, dass z.B. google.ch zum Server mit der IP-Adresse 216.58.215.227 gehört.

DNS
Das Domain Name System (DNS) ist eine riesige Datenbank, welche die Zuordnungen IP-Adressen ↔ Domain-Name speichert. Sie ist auf tausende Name-Server im Internet verteilt. Wird z.B. https://ksso.so.ch eingegeben, so muss der Browser erst einmal bei einem der Name-Server nachfragen, wie die IP-Adresse des Servers lautet. Wenn dieser das nicht weiss, fragt er einen anderen Name-Server usw. bis die IP-Adresse gefunden ist. Aus diesem Grunde werden bereits viele Nachrichten über das Internet hin und her geschickt, bevor eine Webseite überhaupt angefragt werden kann. Zur Entlastung werden die IP-Adressen häufig aufgerufener Webseiten im Rechner oder im Router gespeichert.
✍ Auftrag – Domain-Namen

Loading ⌛ 👉 Finde heraus, welche Domain-Namen noch frei sind und wie du dir eine Domain reservieren könntest.

  1. Gehe zuerst auf die Webseite der offiziellen Schweizer Domain-Namen-Behörde. Finde heraus, ob dein Vorname bereits vergeben ist.
  2. Freie Domain-Namen müssen über einen sogenannten „Registrar“ (eine spezialisierte Firma) kostenpflichtig reserviert werden. Die meisten Registrare bieten nicht nur Domain-Namen mit der Endung .ch an, sondern viele weitere. Teste, ob dein Vorname mit einer anderen Endung verfügbar ist, z.B. beim Registrar Metanet (etwas nach unten scrollen) und was das kosten würde.
    💡 Tipp: Vorname + erster Buchstabe des Nachnamens ist häufig noch frei…
  3. Markiere diesen Auftrag als „Erledigt“.


Eigene Notizen

Loading ⌛

1)
Bildquellen: Wenn nicht anders angegeben, stellen die Bilder Screenshots der Software Filius von Stefan Freischlad dar und unterliegen der GNU General Public License V3
2)
Ralf Kretzschmar für die Kantonsschule Solothurn, CC0
3)
Das Doppel-// deutet auf etwas hin, dass ausserhalb des eigenen Computers liegt. Mittlerweile bereut der Erfinder der URL, das :// nicht einfach weggelassen zu haben, wie hier berichtet wird.
4)
wobei der direkte Aufruf über die IP-Adresse häufig blockiert wird