| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| p:netzwerke:webserver [2024/11/06 14:04] – [3. Exkurs Schweizer Netz und Internet] Ralf Kretzschmar | p:netzwerke:webserver [2026/04/25 11:04] (aktuell) – [4. Exkurs Domainnamen] Ralf Kretzschmar |
|---|
| </body> | </body> |
| </html></code> | </html></code> |
| - Speichere das File im Ordner ''webserver'' unter dem Namen ''kontakt.html'' ab - schon hast du deine Kontakt-Webseite erstellt. | - Speichere das File im Ordner ''webserver'' unter dem Namen ''kontakt.html'' ab – schon hast du deine Kontakt-Webseite erstellt. |
| - Speichere das Netzwerk unter Filius11 ab, dieses wird für den Auftrag Filius 12 gebraucht. | - Speichere das Netzwerk unter Filius11 ab, dieses wird für den Auftrag Filius 12 gebraucht. |
| - Markiere danach diesen Auftrag als "Erledigt". | - Markiere danach diesen Auftrag als "Erledigt". |
| </WRAP> | </WRAP> |
| |
| ; URL[{{ :p:netzwerke:url.png?600|Uniform Resource Locator ((Ralf Kretzschmar für die Kantonsschule Solothurn, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0]]))}}] | ; URL<figure right>{{:p:netzwerke:url.png?600}}<caption>Uniform Resource Locator ((Ralf Kretzschmar für die Kantonsschule Solothurn, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0]]))</caption></figure> |
| : 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 ''%%://%%''((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 [[https://www.sueddeutsche.de/digital/internetadressen-web-begruender-bereut-schraegstriche-1.39644|hier berichtet wird]].)), dem Domain-Namen (z.B. ''%%google.ch%%'') oder auch einer IP-Adresse (z.B. ''216.58.215.227''((wobei der direkte Aufruf über die IP-Adresse häufig blockiert wird))) 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. | : 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 ''%%://%%''((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 [[https://www.sueddeutsche.de/digital/internetadressen-web-begruender-bereut-schraegstriche-1.39644|hier berichtet wird]].)), dem Domain-Namen (z. B. ''%%google.ch%%'') oder auch einer IP-Adresse (z. B. ''216.58.215.227''((wobei der direkte Aufruf über die IP-Adresse häufig blockiert wird))) 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. |
| |
| | |
| - Starte auf dem ''Server 0.12'' den ''Webserver''. | - Starte auf dem ''Server 0.12'' den ''Webserver''. |
| - Installiere auf dem ''Rechner 1.11'' einen ''Webbrowser''. | - Installiere auf dem ''Rechner 1.11'' einen ''Webbrowser''. |
| - 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. | - 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. |
| - 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. | - 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. |
| - Klicke in der angezeigten Webseite auch auf ''Kontakt'' - nun sollte auch die Kontaktseite angezeigt werden. | - Klicke in der angezeigten Webseite auch auf ''Kontakt'' - nun sollte auch die Kontaktseite angezeigt werden. |
| - Speichere das Netzwerk unter Filius12 ab, dieses wird für den Auftrag Filius 13 gebraucht. | - Speichere das Netzwerk unter Filius12 ab, dieses wird für den Auftrag Filius 13 gebraucht. |
| - Starte auf dem ''Server 0.12'' den ''Webserver''. | - Starte auf dem ''Server 0.12'' den ''Webserver''. |
| - Starte auf dem ''Rechner 1.11'' einen ''Webbrowser'' und öffne die URL ''192.168.0.12''. | - Starte auf dem ''Rechner 1.11'' einen ''Webbrowser'' und öffne die URL ''192.168.0.12''. |
| - Öffne den ''Datenaustausch'' durch einen Rechtsklick auf den ''Router''. Was du siehst sollte ähnlich aussehen, wie im nachfolgenden Screenshot. | - Öffne den ''Datenaustausch'' durch einen Rechtsklick auf den ''Router''. Was du siehst, sollte ähnlich aussehen, wie im nachfolgenden Screenshot. |
| - ⚠️ Arbeite nicht mit deinem eigenen Datenaustausch weiter, sondern mit dem untenstehenden Screenshot. Studiere im Screenshot die Zeilen 6 bis 9 {{ :p:netzwerke:webserverdump1.png |}} | - ⚠️ Arbeite nicht mit deinem eigenen Datenaustausch weiter, sondern mit dem untenstehenden Screenshot. Studiere im Screenshot die Zeilen 6 bis 9 {{ :p:netzwerke:webserverdump1.png |}} |
| * In Zeile 6 fragt der Client (192.168.1.10) den Server (192.168.0.12) nach der Webseite. | * 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. | * 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. | * 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. | * 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. |
| - Studiere den Screenshot der Zeilen 12 bis 15 {{ :p:netzwerke:webserverdump2.png |}} | - Studiere den Screenshot der Zeilen 12 bis 15 {{ :p:netzwerke:webserverdump2.png |}} |
| * 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. | * 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 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 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. | * 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, das in mehreren Teilen verschickt wird. |
| - 💡 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|\\ \\ Video muss in Echtzeit im Browser abgespielt werden können. Es ist nicht sinnvoll, verpasste Bildinformation nachschicken zu lassen. Daher wird für Video Livestreams kein TCP Protokoll verwendet, sondern ein anderes Protokoll, das nicht kontrolliert, ob etwas verloren geht (das UDP Protokoll). Wenn die Verbindung schlecht ist, äussert sich dies in einem sehr groben, im Extremfall eingefrorenen Videobild.\\ \\ ++ {{gem/plain?0=N4XyA#e40f7a295d6bb5f9}} | - 💡 Mit dem oben beschriebenen Vorgehen können Server und Browser prüfen, ob alles verschickt und angekommen war. Geht etwas verloren, wird das Verlorene 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|\\ \\ Video muss in Echtzeit im Browser abgespielt werden können. Es ist nicht sinnvoll, verpasste Bildinformationen nachschicken zu lassen. Daher wird für Video-Livestreams kein TCP-Protokoll verwendet, sondern ein anderes Protokoll, das nicht kontrolliert, ob etwas verloren geht (das UDP-Protokoll). Wenn die Verbindung schlecht ist, äussert sich dies in einem sehr groben, im Extremfall eingefrorenen Videobild.\\ \\ ++ {{gem/plain?0=N4XyA#e40f7a295d6bb5f9}} |
| - Markiere danach diesen Auftrag als "Erledigt". | - Markiere danach diesen Auftrag als "Erledigt". |
| </WRAP> | </WRAP> |
| {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#16edd55a52238622}} | {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#16edd55a52238622}} |
| 👉 Finde heraus, wie gross das Internet ist und welche Wege eine Webseitenanfrage durch das Internet nimmt. | 👉 Finde heraus, wie gross das Internet ist und welche Wege eine Webseitenanfrage durch das Internet nimmt. |
| - Finde auf [[https://www.netcraft.com/resources/?type=blog | - Finde im [[https://www.netcraft.com/resources/blog |
| |netcraft.com]] den "Web Server Survey" vom letzten Monat und schaue nach, wieviele Web Server im letzten Monat durch netcraft.com auffindbar waren. | |Netcraft Blog]] den "Web Server Survey" vom letzten Monat und schaue nach, wie viele Webserver im letzten Monat auffindbar waren. |
| - Auf der Webseite [[https://gsuite.tools/de/traceroute|Traceroute]] von G.Suite Tools wird auf einer Karte gezeigt, auf welchen Weg eine Webseite von einem anderen Standort aus aufgerufen wird (der Startpunkt ist auf der Karte ersichtlich, das kann z.B. San Francisco oder London sein). 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. | - Auf der Webseite [[https://stefansundin.github.io/traceroute-mapper/|Traceroute Mapper]] von Stefan Sundin kannst du den Weg sichtbar machen, den eine Webseitenabfrage von deinem Laptop aus im Internet bis zum Server durchläuft. Gehe dafür wie folgt vor. |
| | * Teil 1 für **Windows** Computer |
| | - Öffne auf deinem Laptop das Programm ''Eingabeaufforderung'' indem du auf deinem Laptop unten bei der ''🔍 Suche'' einfach ''Eingabeaufforderung'' eingibst. |
| | - Schreibe in das Eingabeaufforderung-Fenster z. B. ''tracert openai.com'' hinein und drücke die Enter-Taste. 🥱 Es kann etwas dauern, bis der tracert-Befehl den Weg durch das Internet aufgezeichnet hat. |
| | - Kopiere nun in der Eingabeaufforderung alle Zeilen, welche Nummern am Anfang tragen. |
| | * Teil 1 für **Apple** Computer |
| | - Öffne auf deinem Laptop das Programm ''Terminal.app'' indem du auf deinem Laptop oben bei der ''🔍 Suche'' einfach ''Terminal'' eingibst. |
| | - Schreibe in das Terminal-Fenster z. B. ''traceroute -I -q1 openai.com'' hinein und drücke die Enter-Taste. 🥱 Es kann etwas dauern, bis der traceroute-Befehl den Weg durch das Internet aufgezeichnet hat. |
| | - Kopiere nun in der Eingabeaufforderung alle Zeilen, welche Nummern am Anfang tragen. |
| | * Teil 2 für **alle** Computer |
| | - Öffne den [[https://stefansundin.github.io/traceroute-mapper/|Traceroute Mapper]], füge dort die kopierten Zeilen ins Textfeld ein und klicke auf den blauen Button ''map it!''. 🗺️ Jetzt siehst du den Weg, den deine Anfrage durch das Internet genommen hat. |
| | - Klicke im Traceroute Mapper auf ''Clear map'' und wiederhole das Ganze mit einer anderen Webseite.\\ ⚠️ Eine Webseitenanfrage muss nicht immer denselben Weg nehmen. Der Weg hängt unter anderem auch von der Auslastung des Internets ab. |
| - Markiere diesen Auftrag als "Erledigt". | - Markiere diesen Auftrag als "Erledigt". |
| </WRAP> | </WRAP> |
| </WRAP> | </WRAP> |
| \\ | \\ |
| ===== - Exkurs Domain-Namen ===== | ===== - Exkurs Domainnamen ===== |
| |
| 💡 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. | 💡 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 | ; 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. | : Das Domain Name System (DNS) ist eine riesige Datenbank, welche die Zuordnungen IP-Adressen ↔ Domain-Name speichert. Sie ist auf tausende Nameserver im Internet verteilt. Wird z. B. ''%%https://ksso.so.ch%%'' eingegeben, so muss der Browser erst einmal bei einem der Nameserver nachfragen, wie die IP-Adresse des Servers lautet. Wenn dieser das nicht weiss, fragt er einen anderen Nameserver usw., bis die IP-Adresse gefunden ist. Aus diesem Grunde werden bereits viele Nachrichten über das Internet hin- und hergeschickt, bevor eine Webseite überhaupt angefragt werden kann. Zur Entlastung werden die IP-Adressen häufig aufgerufener Webseiten im Rechner oder im Router gespeichert. |
| |
| <WRAP center round box > | <WRAP center round box > |
| == ✍ Auftrag – Domain-Namen == | == ✍ Auftrag – Domain-Namen == |
| {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#83ce8b216b604541}} | {{ gem/flag?label=Erledigt&icon=%E2%9C%8D#83ce8b216b604541}} |
| 👉 Finde heraus, welche Domain-Namen noch frei sind und wie du dir eine Domain reservieren könntest. | 👉 Finde heraus, welche Domainnamen noch frei sind und wie du dir eine Domain reservieren könntest. |
| - Gehe zuerst auf die Webseite der offiziellen [[https://www.nic.ch/de/whois/|Schweizer Domain-Namen-Behörde]]. Finde heraus, ob dein Vorname bereits vergeben ist. | - 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 [[https://www.metanet.ch/email-domains/domains|Registrar Metanet]] (etwas nach unten scrollen) und was das pro Jahr kosten würde.\\ 💡 Tipp: Vorname + erster Buchstabe des Nachnamens ist häufig noch frei... |
| - 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 [[https://www.metanet.ch/email-domains/domains|Registrar Metanet]] (etwas nach unten scrollen) und was das kosten würde.\\ 💡 Tipp: Vorname + erster Buchstabe des Nachnamens ist häufig noch frei... | |
| - Markiere diesen Auftrag als "Erledigt". | - Markiere diesen Auftrag als "Erledigt". |
| </WRAP> | </WRAP> |