Informatik-Lektionen für Datenwissenschaftler: Wie das Web funktioniert
Dieser Beitrag übersetzt grundlegende Informatikkonzepte über das Web in praktische mentale Modelle, die Ihnen helfen werden, robustere und effizientere Datenpipelines aufzubauen.
Haben Sie Schwierigkeiten, einen fehlerhaften API-Aufruf zu debuggen, wundern Sie sich über langsame Datenübertragungen aus einem Cloud-Bucket oder versuchen Sie, die Struktur einer Website für einen Web-Scraping-Auftrag zu verstehen? Diese typischen Probleme in der Datenwissenschaft entstehen oft durch ein mangelndes Verständnis der grundlegenden Funktionsweise des Internets. Auch wenn diese Themen zunächst wie die Domäne von Webentwicklern erscheinen mögen, ist ein grundlegendes Verständnis dafür, wie Daten von A nach B fließen, ein wertvolles Werkzeug für jeden Datenexperten. Um dieses Verständnis zu fördern, fasst dieser Beitrag die wichtigsten Netzwerkkonzepte aus der CS50x-Vorlesung 2025 der Harvard University zum Thema Webprogrammierung zusammen.

1. Das Internet ist keine gerade Linie
Wenn Ihr Code Daten von einem entfernten Server anfordert, stellt man sich leicht vor, dass diese Informationen geradlinig übertragen werden. Die Realität ist jedoch komplexer. Das Internet ist ein riesiges Netzwerk aus miteinander verbundenen Computern, sogenannten Routern, deren einziger Zweck darin besteht, Informationen weiterzuleiten.
Stellen Sie sich Ihre Datenanfrage wie einen „virtuellen Briefumschlag“ vor. Ihr Computer übergibt ihn an den nächstgelegenen Router, der dann entscheidet, an welchen Router er ihn als Nächstes weiterleitet. Dieser Vorgang wiederholt sich, wobei der Briefumschlag zwischen den Servern hin und her springt, bis er sein Ziel erreicht. Der gewählte Weg ist nicht unbedingt der kürzeste geografische. Router optimieren die Route mithilfe von Software hinsichtlich Geschwindigkeit, Serverauslastung und sogar aus finanziellen Gründen, beispielsweise um den Datenverkehr im Netzwerk eines bestimmten Anbieters zu halten und so Gebühren zu vermeiden. Benötigt eine Übertragung mehr als 30 dieser Zwischenstationen, befindet sie sich wahrscheinlich in einer Schleife.
Verbindung zur Datenwissenschaft: Für Data Scientists bietet dieses Konzept ein aussagekräftiges Modell zur Netzwerklatenz. Beim Abrufen von Daten aus einem Cloud-Dienst wie AWS S3 oder beim Abfragen einer Remote-Datenbank ist die Zeit, die die Daten für die Übertragung über das Internet benötigen, ein entscheidender Faktor für die Performance Ihrer Datenpipeline. Dies ist kein abstraktes Konzept, sondern eine physikalische Realität, die zu Verzögerungen führen kann, die Sie berücksichtigen müssen.
2. Ihre Daten werden zerstückelt und neu zusammengesetzt
Eine einzelne große Datei, wie beispielsweise ein hochauflösendes Bild oder ein Datensatz mit mehreren Gigabyte, wird nicht als Ganzes über das Internet übertragen. Das zugrundeliegende Internetprotokoll TCP/IP zerlegt große Datenmengen in kleinere Fragmente. Wie die CS50-Vorlesung veranschaulicht, wird das Bild einer „glücklichen Katze“ metaphorisch in vier Teile zerrissen.
Jedes Fragment wird in einen eigenen virtuellen Umschlag, ein sogenanntes Paket, verpackt. Damit der Empfänger die Katze wieder korrekt zusammensetzen kann, fügt das Transmission Control Protocol (TCP) jedem Paket eine Sequenznummer hinzu (z. B. „1 von 4“, „2 von 4“, „3 von 4“). Dies ermöglicht es dem empfangenden Computer, die Fragmente in der richtigen Reihenfolge wieder zusammenzusetzen und – ganz entscheidend – zu erkennen, ob Pakete verloren gegangen sind.
Verbindung zur Datenwissenschaft: Die Robustheit von TCP/IP ermöglicht die zuverlässige Anwendung komplexer Datenverarbeitungskonzepte wie Chunking und verteilter Verarbeitung. Beim Einlesen großer Dateien in Batches oder der Verwendung eines Frameworks wie MapReduce zur Aufteilung eines großen Auftrags in kleinere Teile operiert man zwar auf einer höheren Abstraktionsebene, das zugrundeliegende Prinzip bleibt jedoch dasselbe. Die Gewährleistung der Datenintegrität durch dieses Protokoll ist ein zentrales Anliegen jeder Datenpipeline.
3. Ein Server, viele Funktionen: Die Rolle der Ports
Eine IP-Adresse leitet Ihr Datenpaket an den richtigen Computer weiter, legt aber nicht fest, welche Anwendung auf diesem Computer es empfangen soll. Ein einzelner Server kann gleichzeitig einen Webserver, einen E-Mail-Server und einen Datenbankserver betreiben. Hier kommen Ports ins Spiel.
Ein Port ist eine eindeutige numerische Kennung für einen bestimmten Dienst, der auf einem Server läuft. Im Laufe der Zeit hat sich ein Satz von Standardports etabliert: Port 80 wird typischerweise für unverschlüsselten Webverkehr (HTTP), Port 443 für sicheren Webverkehr (HTTPS) und Port 25 für E-Mails verwendet. Ports ermöglichen es einem einzelnen Server mit einer einzigen IP-Adresse, seine Dienste zu „multiplexen“ und so sicherzustellen, dass eine Anfrage für eine Webseite an den Webserver und nicht an den E-Mail-Server gesendet wird. Dadurch wird sichergestellt, dass eine IP-Adresse ein Datenpaket an den richtigen Rechner leitet und eine Portnummer es an die richtige Anwendung auf diesem Rechner weiterleitet – ein zweistufiges Adressierungssystem, das für das moderne, multitaskingfähige Web unerlässlich ist.
Verbindung zur Datenwissenschaft: Dies ist im Arbeitsalltag unmittelbar praktisch. Wenn Sie eine Verbindung zu einer PostgreSQL-Datenbank herstellen, wird der Standard :5432 you append to the IP address is precisely this concept in action, directing your request to the database application. When you deploy a model via an API or run a Jupyter server on your local machine, you are using ports (like localhost:8888) to expose that specific service to network requests.
4. DNS: Das riesige, zwischengespeicherte Wörterbuch des Internets
Menschen surfen nicht im Internet, indem sie Zahlenfolgen wie diese eingeben. 142.250.191.78. We use human-friendly domain names like google.com. The system that translates these names into machine-readable IP addresses is the Domain Name System (DNS).
Funktionell gesehen ist DNS eine massive, verteilte Implementierung des abstrakten Datentyps „Wörterbuch“. Es ordnet Schlüssel (Domainnamen) Werten (IP-Adressen) zu. Um die immense Größe des Internets zu bewältigen und schnelle Antworten zu ermöglichen, ist DNS hierarchisch aufgebaut und stark auf Caching angewiesen. Ihr Computer, Ihr lokales Netzwerk und Ihr Internetdienstanbieter (ISP) speichern die letzten DNS-Anfragen im Cache, sodass sie die Root-Server nicht immer wieder nach derselben Adresse abfragen müssen.
Verbindung zur Datenwissenschaft: Dieses Prinzip des großflächigen, verteilten Caching ist ein grundlegendes Muster, das wir in der Datenwissenschaft ständig anwenden. Es dient als aussagekräftige Analogie zur Praxis für Techniken wie Memoization in einer Python-Funktion, das Zwischenspeichern der Ergebnisse einer langsamen Datenbankabfrage oder das Speichern von Zwischenergebnissen auf der Festplatte. DNS ist ein globales Beispiel für einen verteilten Key-Value-Cache, der das moderne Web nutzbar macht.
5. HTTP-Statuscodes: Ihr Kompass zur Fehlersuche
Wenn Ihr Browser (der Client) eine Seite von einem Server anfordert, beginnt die Antwort des Servers mit einem dreistelligen HTTP-Statuscode. Dieser Code liefert eine kurze Zusammenfassung darüber, ob die Anfrage erfolgreich war oder welche Art von Fehler aufgetreten ist.
Die Codes sind in Kategorien gruppiert:
- 200er (
200 OK): Die Anfrage war erfolgreich. - 300er (
301 Moved Permanently): Sie wurden weitergeleitet. In der Vorlesung wird folgendes Beispiel genannt:safetyschool.orgwhich returns a301code to redirect the browser to Yale’s website. - 400er (
404 Not Found): Es ist ein clientseitiger Fehler aufgetreten. Das bedeutet, der Fehler liegt bei Ihnen – Sie haben eine Ressource angefordert, die nicht existiert oder für die Sie keine Zugriffsberechtigung haben. - 500er (
500 Internal Server Error): Es ist ein serverseitiger Fehler aufgetreten. Der Server ist bei dem Versuch, Ihre gültige Anfrage zu bearbeiten, auf ein Problem gestoßen.
Verbindung zur Datenwissenschaft: Für alle, die mit APIs oder Web-Scraping arbeiten, ist das Verständnis dieser Codes der entscheidende Unterschied zwischen einer vagen Fehlermeldung wie „Anfrage fehlgeschlagen“ und verwertbaren Diagnoseinformationen. 404 error tells you to check your URL endpoint, while a 403 Forbidden error tells you to check your API key. A 500 error means the problem is likely with the service itself.
„…immer wenn Sie einen 500-Fehler sehen, ist das auch Ihre Schuld; Sie sind in diesem Fall sowohl Benutzer als auch Server…“ – Harvard CS50x 2025 (YouTube) – Vorlesung: HTML, CSS, JavaScript
6. HTML dient der Struktur, nicht dem Stil.
Hypertext Markup Language (HTML) ist die Standardsprache zur Erstellung von Webseiten. Sie ist eine Auszeichnungssprache, keine Programmiersprache; ihr Zweck ist die Beschreibung und Strukturierung von Inhalten, nicht die Ausführung von Logik. HTML verwendet „Tags“ (wie z. B. <html>). <p> for a paragraph or <div> for a division) and “attributes” (like class oder id) to define elements.
Wenn ein Browser eine HTML-Datei empfängt, analysiert er den Text und erstellt im Speicher eine baumartige Datenstruktur, das sogenannte Document Object Model (DOM). Dieser Baum repräsentiert die Struktur der Seite. Modernes HTML legt Wert auf die Verwendung semantischer Tags wie beispielsweise <h1>, <h2>, <h3> und <h4>. <header>, <main>und <footer>. These tags don’t just create boxes on a page; they give meaning to the structure, helping search engines, accessibility tools, and AI models understand the relative importance of different content sections.
Verbindung zur Datenwissenschaft: In der Datenwissenschaft ist ein fundiertes Verständnis des DOM die absolute Grundlage für Web-Scraping. Um bestimmte Daten von einer Webseite zu extrahieren, muss ein Scraper durch diesen DOM-Baum navigieren und Elemente anhand ihrer Tags, Klassen oder IDs auswählen. Dieses Prinzip der „Trennung der Belange“ – die Verwendung von HTML für die Struktur und einer separaten Sprache (CSS) für das Styling – hat eine starke Parallele zum Prinzip der „sauberen Daten“, wonach die logische Struktur eines Datensatzes unabhängig von seiner endgültigen Darstellung sein sollte.
Was Sie heute bewerben sollten
- Wenn ein API-Aufruf fehlschlägt, überprüfen Sie den HTTP-Statuscode (z. B. 404 oder 500), um festzustellen, ob der Fehler auf Ihrer Seite oder auf dem Server liegt.
- Verwenden Sie die „Entwicklertools“ Ihres Browsers (Rechtsklick -> Untersuchen), um auf die Registerkarte „Netzwerk“ zu wechseln und die tatsächlichen Anfragen und Antworten Ihres Browsers anzuzeigen.
- Bevor Sie eine Website scrapen, untersuchen Sie deren HTML-Struktur, um die spezifischen Tags, Klassen oder IDs zu identifizieren, die die benötigten Daten enthalten.
- Beim Verbinden mit einer Datenbank oder API sollten Sie auf die Portnummer achten und erkennen, dass diese Ihre Anfrage an die richtige Anwendung auf dem Server weiterleitet.
- Denken Sie beim nächsten Auftreten einer Verzögerung in der Datenpipeline an DNS-Caching; eine langsame Namensauflösung oder ein veralteter Cache könnten die Ursache sein.
Schließen
Diese Konzepte sind für Entwickler nicht bloß akademische Details. Von der physikalischen Paketweiterleitung (TCP/IP) über die logische Adressierung von Diensten (DNS, Ports) bis hin zur Sprache der Anfragen (HTTP) bilden diese geschichteten Protokolle das unsichtbare System, auf dem unsere Datenpipelines basieren. Das Verständnis von wie und -struktur ermöglicht ein intuitiveres Erkennen von Leistungsengpässen, Fehlerdiagnose und Datenextraktion. Im nächsten Schritt der Vorlesungsreihe geht es darum, Webinhalte mit JavaScript dynamisch zu gestalten – der Technologie hinter den interaktiven Datenvisualisierungen, die wir täglich nutzen.
Wie könnte ein besseres Verständnis dieser Protokolle Ihre Vorgehensweise bei der Gestaltung Ihres nächsten Datenerfassungsskripts verändern?
Base: Harvard CS50x 2025 (YouTube).

