Was genau passiert, wenn Sie eine Website in Ihrem Browser durchsuchen?

Was genau passiert, wenn Sie eine Website in Ihrem Browser durchsuchen?

Was passiert hinter den Kulissen, wenn wir www.cnn.com in einen Browser eingeben und wie werden die Informationen auf dem Bildschirm angezeigt?

Eine technische Erklärung wäre sehr willkommen.

Antwort1

Browser:"Ok, also, ich habe einen Benutzer, der diese Adresse anfordert: www.cnn.com. Da keine Schrägstriche oder ähnliches vorhanden sind, nehme ich an, dass dies eine direkte Anforderung einer Hauptseite ist. Es wurde auch kein Protokoll oder Port definiert, also nehme ich an, dass es HTTP ist und zu Port 80 geht ... na ja, das Wichtigste zuerst. Hey DNS, Kumpel, wach auf! Wo versteckt sich dieses www.cnn.com?"

DNS:„Gut... warte mal, ich frage die Server des Internetdienstanbieters. Ok, es sieht aus wie 157.166.226.25.“

Browser:"Ok. Internet Protocol Suite, Sie sind dran! Rufen Sie bitte 157.166.226.25 an. Senden Sie ihnen diesen HTTP-Header. Darin werden die grundlegende Struktur und der Inhalt ihrer Hauptseite abgefragt, damit ich weiß, was ich sonst noch abrufen muss... na ja, nicht dass Sie das interessieren würde, schätze ich."

TCP/IP:"Wie meinst du dasich bin dran? Als ob ich mir nicht gerade für die DNS den Arsch aufgerissen hätte? Gott, was braucht man, um hier ein bisschen Anerkennung zu bekommen …“

Browser:...

TCP/IP:„Ja, ja … Verbindung wird hergestellt … Ich werde einfach das Gateway bitten, es weiterzuleiten. Wissen Sie, das ist gar nicht so einfach. Ich muss Ihre hübsche Anfrage in mehrere Teile aufteilen, damit sie am Ende ankommt, und alles, was sie zurückschicken, aus den Tausenden von Paketen zusammenstellen, die ich bekomme … ah, richtig, das ist Ihnen egal. Ist doch klar.“

Unterdessen landet im CNN-Hauptquartier endlich eine Nachricht vor der Tür des Webservers.

CNN-Webserver:„Nzhôô! Ein Kunde! Er will Neuigkeiten! Die Titelseite! Wie wär’s damit?“

Serverseitige Skript-Engine von CNN:„Gut, wird gemacht! Titelseite, richtig?“

CNN-Datenbankserver:„Juhu! Arbeite für mich! Welche Inhalte brauchst du?“

Serverseitige Skript-Engine von CNN:„… ähm, entschuldige, DB, ich habe eine Kopie der Titelseite direkt hier in meinem Cache, ich muss nichts kompilieren. Aber hey, nimm diese Benutzer-ID und speichere sie, ich schicke sie auch an den Kunden, damit wir später wissen, mit wem wir sprechen.“

CNN-Datenbankserver:„Juhuu!“

Zurück zum Computer des Benutzers ...

TCP/IP:„Oooookay, hier kommt die Antwort. Oh Mann, warum habe ich das Gefühl, dass das eine große Sache wird …“

Browser:„Äh, wow … das hat jede Menge JavaScript-Code … ein paar Bilder, ein paar Formulare … Also, das wird eine Weile dauern, bis es gerendert ist. Mach dich besser an die Arbeit. Hey, IP-System, da ist noch eine Menge Zeug, das du besorgen musst. Mal sehen, ich brauche ein paar Stylesheets von i.cdn.turner.com – über HTTP und fordere die Datei /cnn/.element/css/2.0/common.css an. Und dann hole ich mir auch einige dieser Skripte von i.cdn.turner.com, ich zähle bisher sechs …“

TCP/IP:"Ich verstehe. Geben Sie mir einfach die Serveradressen und all das. Und packen Sie den ganzen Dateikram in die HTTP-Anfrage, damit will ich mich nicht befassen."

DNS:„Überprüfe i.cdn.turner.com … hey, kleine Kuriosität, es heißt eigentlich cdn.cnn.com.c.footprint.net. Die IP ist 4.23.41.126.“

Browser:„Sicher, sicher … warte eine Sekunde, die Verarbeitung dauert einige Nanosekunden, ich versuche, das ganze Skript zu verstehen …“

TCP/IP:„Hey, hier ist das CSS, nach dem Sie gefragt haben. Oh, und … ja, diese zusätzlichen Skripte sind auch gerade zurückgekommen.“

Browser:„Puh, da ist noch mehr … eine Art Videoanzeige!“

TCP/IP:„Oh Junge, das klingt nach einem Spaß …“

Browser:"Es gibt auch alle möglichen Bilder! Und dieses CSS sieht ein bisschen scheußlich aus... also, wenn dieser Teil dorthin gehört und diese Zeile oben hat... wie um Himmels Willen würde das dann noch passen... nein, ich muss das ein bisschen strecken, damit es passt... Oh, aber diese andere CSS-Datei überschreibt diese Regel... Also, das hier wird kein einfaches Stück zum Rendern, so viel ist sicher!"

TCP/IP:„Ok, ok, hör kurz auf, mich abzulenken, es gibt hier noch viel zu tun.“

Browser:„Benutzer, hier ist ein kleiner Fortschrittsbericht für Sie. Tut mir leid, das kann ein paar Sekunden dauern, es müssen etwa 140 verschiedene Elemente geladen werden, und bisher sind es 16.“

Ein oder zwei Sekunden später...

TCP/IP:„Okay, das sollte alles sein. Hey, hör zu … entschuldige, dass ich dich vorhin angeblafft habe, kommst du da zurecht? Das scheint auch für dich eine ziemliche Belastung zu sein.“

Browser:„Puh, ja, die vielen Websites heutzutage machen es einem wirklich nicht leicht. Naja, ich werde es hinkriegen. Dafür bin ich ja hier.“

TCP/IP:„Ich schätze, das ist heutzutage für uns alle ziemlich schwer … oh, hör auf, mit dem Prahlen zu beginnen, DNS!“

Browser:„Hey Benutzer! Die Website ist fertig – holen Sie sich Ihre Neuigkeiten!“

Antwort2

So funktioniert das Web: HTTP und CGI erklärt

Auch eine großartige Erklärung von CERN – Alma Mater des Web:So funktioniert das Web

Bildbeschreibung hier eingeben

Antwort3

  • Der Browser teilt Ihre Eingabe (die URL) in einen Hostnamen und einen Pfad auf.
  • Der Browser erstellt eine HTTP-Anfrage, um die Daten unter dem angegebenen Hostnamen und Pfad anzufordern.
  • Der Browser führt eine DNS-Suche durch, um den Hostnamen in eine IP-Adresse aufzulösen.
  • Der Browser stellt eine TCP/IP-Verbindung zu dem über die IP-Adresse angegebenen Computer her. (Diese Verbindung besteht eigentlich aus mehreren Computern, von denen jeder die Daten an den nächsten weiterleitet.)
  • Der Browser sendet die HTTP-Anfrage über die Verbindung an die angegebene IP-Adresse.
  • Dieser Computer empfängt die HTTP-Anforderung von der TCP/IP-Verbindung und leitet sie an das Webserverprogramm weiter.
  • Der Webserver liest den Hostnamen und den Pfad und findet oder generiert die von Ihnen angeforderten Daten.
  • Der Webserver generiert eine HTTP-Antwort, die diese Daten enthält.
  • Der Webserver sendet diese HTTP-Antwort über die TCP/IP-Verbindung zurück an Ihren Computer.
  • Der Browser empfängt die HTTP-Antwort und teilt sie in Header (Beschreibung der Daten) und den Text (die Daten selbst) auf.
  • Der Browser interpretiert die Daten, um zu entscheiden, wie sie im Browser angezeigt werden. Normalerweise handelt es sich dabei um HTML-Daten, die die Informationstypen und ihre allgemeine Form angeben.
  • Einige der Daten sind Metadaten, die weitere Ressourcen angeben, die geladen werden müssen, wie z. B. Stylesheets für ein detailliertes Layout, Inline-Bilder oder Flash-Filme. Diese Metadaten werden erneut als URL angegeben, und dieser gesamte Vorgang wird für jede einzelne Ressource wiederholt, bis alle geladen sind.

Antwort4

In den anderen Antworten fehlt bisher, was auf der CNN-Seite passiert:

  • Eine Maschine bei CNN empfängt von Ihrem Computer die Nachricht mit der Aufforderung, die Seite anzuzeigen.
  • Diese Anfrage wird an einen der vielen Computer umgeleitet, die CNN für seine Website verwendet (der Grund hierfür ist, dass man auf diese Weise die Arbeit zum Erstellen der Antwort-Webseiten auf viele Computer verteilen kann).
  • Der CNN-Computer erhält Ihre Anfrage und antwortet mit einer Webseite, die wahrscheinlich fast vollständig vorkalkuliert ist, aber vielleicht ändert er ein paar Dinge, bevor er sie Ihnen sendet (könnte die Anzeige oben sein, vielleicht die Schlagzeilen). Manchmal setzen Computer die Seite jedes Mal, wenn sie eine Anfrage erhalten, aus vielen kleinen Komponenten zusammen; ich bin mir nicht sicher, was CNN tut
  • Die Antwort gelangt über das Netzwerk zu Ihrem Computer, der sie dann anzeigt.
  • Die Antwort enthielt die Bilder nicht: Ihr Computer sendet dann eine weitere Anfrage für die Bilder und es passiert praktisch das gleiche Szenario.

verwandte Informationen