it-swarm.com.de

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 Informationen auf dem Bildschirm angezeigt?

Eine technische Erklärung wäre sehr dankbar.

62
Rachel

Browser: "Ok, ich habe einen Benutzer, der diese Adresse anfordert: www.cnn.com. Ich glaube, da es keine Schrägstriche oder ähnliches gibt, ist dies ist eine direkte Anfrage von einer Hauptseite. Es wurde auch kein Protokoll oder Port definiert, daher gehe ich davon aus, dass es sich um HTTP handelt und auf Port 80 geht. Na ja, das Wichtigste zuerst. Hey DNS, Kumpel, wach auf! Wo ist das www.cnn.com versteckt sich bei? "

DNS: "Richtig ... warte eine Sekunde, ich werde die ISP-Server fragen. 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. Er fragt nach der Grundstruktur und Inhalt ihrer Hauptseite, damit ich weiß, was ich sonst noch holen soll ... na ja, nicht, dass dir das etwas ausmacht, denke ich. "

TCP/IP: "Was meinst du mit Ich bin an der Reihe ? Zurück, gleich da, um den DNS zu holen? Gott, was braucht es, um hier ein bisschen Anerkennung zu finden ... "

Browser: ...

TCP/IP: "Ja, ja ... Verbindung wird hergestellt ... Ich bitte nur das Gateway, es weiterzuleiten. Es ist alles so einfach, ich muss Ihre hübsche Anfrage dort in mehrere Teile aufteilen, damit sie das Ende erreicht, und alles zusammenstellen, was sie von all den Tausenden Paketen zurücksendet, die ich bekomme ... ah, richtig, das tun Sie nicht Pflege. Zahlen. "

Währenddessen landet im CNN-Hauptquartier eine Nachricht an der Tür des Webservers.

CNN Web Server: "Nzhôô! Ein Kunde! Er möchte Neuigkeiten! Die Startseite! Wie wäre es damit?"

CNN Server Side Script Engine: "Richtig, geht schon! Startseite, richtig?"

CNN Database Server: "Ja! Arbeite für mich! Welche Inhalte brauchst du?"

CNN Server Side Script Engine: "... ähm, Entschuldigung DB, ich habe eine Kopie der Titelseite hier in meinem Cache, sie muss nicht kompiliert werden Aber hey, nimm diese Benutzer-ID und speichere sie. Ich werde sie auch an den Kunden senden, damit wir später wissen, mit wem wir sprechen. "

CNN-Datenbankserver: "Yey!"

Zurück am Computer des Benutzers ...

TCP/IP: "Ooookay, hier kommt die Antwort. Oh Junge, warum habe ich das Gefühl, dass dies eine große sein wird ..."

Browser: "Äh, wow ... das hat alle Arten von Javascript-Code ... ein paar Bilder, ein paar Formen ... Richtig, das Es wird eine Weile dauern, bis das Bild gerendert ist. Besser, Sie müssen noch ein paar Sachen besorgen. Mal sehen, ich brauche ein paar Stylesheets von i.cdn.turner.com - über HTTP und fragen für die Datei /cnn/.element/css/2.0/common.css. Und dann besorgen Sie sich einige dieser Skripte auch auf i.cdn.turner.com, ich zähle bis jetzt sechs ... "

TCP/IP: "Ich bekomme das Bild. Geben Sie mir einfach die Serveradressen und all das. Und binden Sie diese Dateien in die HTTP-Anfrage ein, ich ziehe sie aus will mich nicht damit befassen. "

DNS: "Überprüfung der i.cdn.turner.com ... hey, ein bisschen Trivia, es heißt tatsächlich cdn.cnn.com.c. footprint.net. IP ist 4.23.41.126 "

Browser: "Sicher, sicher ... warte eine Sekunde, das dauert ein paar Sekunden, 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, es gibt noch mehr ... eine Art Video-Werbung!"

TCP/IP: "Oh Mann, wie lustig das klingt ..."

Browser: "Es gibt auch alle Arten von Bildern! Und dieses CSS sieht ein bisschen böse aus ... richtig, wenn dieser Teil dorthin geht und dies hat Zeile oben ... wie um alles in der Welt würde das noch passen ... nein, ich muss das ein bisschen dehnen, um es zu schaffen ... Oh, aber diese andere CSS-Datei setzt diese Regel außer Kraft ... Nun, das man wird nicht leicht zu rendern sein, das ist sicher! "

TCP/IP: "Ok, ok, hör für eine Sekunde auf mich abzulenken, hier gibt es noch viel zu tun."

Browser: "Benutzer, hier ist ein kleiner Fortschrittsbericht für Sie. Tut mir leid, das kann einige Sekunden dauern, es sind ungefähr 140 verschiedene Elemente zu laden, und so weit mit 16 los. "

Eine oder zwei Sekunden später ...

TCP/IP: "Okay, das sollte alles sein. Hey, hör zu ... Entschuldigung, ich habe dich früher angeschnappt, du schaffst das? Das scheint sicher wie ziemlich die Last für dich auch. "

Browser: "Puh, ja, all diese Websites machen es dir heutzutage sicher nicht einfach. Nun, ich werde es schaffen. Es ist wofür ich hier bin. "

TCP/IP: "Ich denke, es ist heutzutage ziemlich schwer für uns alle ... oh, hör auf, dich dort über DNS zu freuen!"

Browser: "Hey User! Die Website ist fertig - hol dir deine Neuigkeiten!"

131
Ilari Kajaste

Wie das Web funktioniert: HTTP und CGI erklärt

Auch eine großartige Erklärung von CERN - alma mater of Web: Wie das Web funktioniert

enter image description here

20
user12925
  • Der Browser teilt Ihre Eingabe (die URL) in einen Hostnamen und einen Pfad auf.
  • Der Browser bildet eine HTTP-Anfrage, um die Daten unter dem angegebenen Hostnamen und Pfad abzufragen.
  • 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 weitergibt.)
  • Der Browser sendet die HTTP-Anforderung ü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 Daten, nach denen Sie gefragt haben.
  • Der Webserver generiert eine HTTP-Antwort, die diese Daten enthält.
  • Der Webserver sendet diese HTTP-Antwort über die TCP/IP-Verbindung an Ihren Computer.
  • Der Browser empfängt die HTTP-Antwort und teilt sie in Header (die Daten beschreiben) und Body (die Daten selbst) auf.
  • Der Browser interpretiert die Daten, um zu entscheiden, wie sie im Browser angezeigt werden sollen. In der Regel 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, z. B. Stylesheets für detailliertes Layout oder Inline-Bilder oder Flash-Filme. Diese Metadaten werden erneut als URL angegeben und dieser gesamte Vorgang wird für jede einzelne wiederholt, bis alle geladen sind.
18
Kylotan

Der erste Schritt ist die DNS-Suche (Domain Name Server). Es verwendet die DNS-Server, die in Ihren Netzwerkeinstellungen angegeben sind (oder Ihnen von DHCP zur Verfügung gestellt wurden), um die Top-Domain (cnn.com) abzurufen und fragt dann den Nameserver dieser Domain nach der IP-Adresse der angegebenen Subdomain (www.cnn.com).

Nachdem die IP-Adresse angegeben wurde, beginnt Ihr Browser mit der Kommunikation mit dem Webserver. Dies erfolgt mit dem angegebenen Protokoll (normalerweise standardmäßig HTTP 1.1). Eine 'GET'-Anforderung für'/'wird an den Server gesendet, der mit dem Inhalt des HTML-Dokuments und den entsprechenden Kopfzeilen antwortet (die dem Browser den Inhaltstyp, HTML und andere Informationen des Dokuments mitteilen). Anschließend analysiert der Browser das Dokument und findet alle URLs, die in die Seite eingebettet werden müssen (wie Bilder oder verknüpfte Stylesheets), und führt GET-Anforderungen für jede dieser URLs aus.

Der Browser sendet normalerweise auch automatisch eine GET-Anforderung für '/favicon.ico' (um das kleine CNN-Symbol neben dem Site-Titel anzuzeigen).

Ihr Browser wird wahrscheinlich auch in seinen Anforderungsköpfen angeben, dass der Antwortinhalt mithilfe des gzip-Algorithmus komprimiert werden soll. Dadurch wird der Dateidownload viel kleiner, wenn der Server dies unterstützt. Dies ist alles für Sie transparent, auch wenn Sie eine Zip-Datei herunterladen und entpacken müssen.

Wenn Sie die Seite neu laden, prüft Ihr Browser, ob diese Seite bereits in Ihrem System zwischengespeichert ist. In diesem Fall führt er eine HTTP-Anforderung nur für den Header des Dokuments durch und überprüft das Änderungsdatum. Wenn dieses Datum nach seiner zwischengespeicherten Kopie liegt, fordert es den gesamten Dokumentinhalt erneut an und aktualisiert die Seite. Andernfalls wird nur Ihre lokale Kopie verwendet.

12
wahnfrieden

Was auf der CNN-Seite passiert, ist, dass die anderen Antworten so weit fehlen:

  • Ein Computer bei CNN empfängt die Nachricht von Ihrem Computer und fragt nach der Seite.
  • Diese Anfrage wird an einen der vielen Computer weitergeleitet, die CNN für seine Website verwendet (der Grund dafür ist, dass Sie auf diese Weise die Arbeit beim Zusammenstellen der Antwortwebseiten auf viele Computer verteilen können).
  • Der CNN-Computer erhält Ihre Anfrage und antwortet mit einer Webseite, die wahrscheinlich fast vollständig vorberechnet ist, aber möglicherweise ändert sie einige Dinge, bevor sie an Sie gesendet wird (möglicherweise die Anzeige oben, möglicherweise die Schlagzeile). Manchmal stellen Computer die Seite jedes Mal, wenn sie eine Anfrage erhalten, aus vielen kleinen Komponenten zusammen. Ich bin mir nicht sicher, was CNN macht
  • die Antwort gelangt über das Netzwerk zu Ihrem Computer, der sie dann anzeigt.
  • die Antwort enthielt keine Bilder: Ihr Computer sendet dann eine weitere Anforderung für die Bilder, und so ziemlich das gleiche Szenario passiert.
8
redtuna

Dies ist offensichtlich keine technische Erklärung, aber es ist eine nette visuelle Hilfe (von der ausgezeichneten Vladstudio.com ), die für einige hilfreich sein kann:

How Internet Works

6
grautur

Die Informationen, die Sie gerade gefragt haben, könnten ein paar Dutzend Bücher füllen. Aber hier ist mein Versuch, es zu erklären: Ihr Browser teilt Ihrem Betriebssystem mit, dass es die IP-Adresse von cnn.com ermitteln soll. Dann fragt Ihr Betriebssystem einen DNS-Server nach der IP-Adresse für cnn.com. Die IP wird an den Browser gesendet, der die IP-Adresse kontaktiert und die Seite anfordert. cnn.com sendet Ihnen dann eine HTML-Seite. Der Browser analysiert den HTML-Code und sendet die Informationen an den HTML-Renderer. Der Browser teilt dem Betriebssystem dann mit, was auf dem Bildschirm angezeigt werden soll.

1
AyexeM

Jeff Moser hatte eine hervorragende technische Analyse einer HTTPS-Anfrage in seinem Blog: Die ersten paar Millisekunden einer HTTPS-Verbindung .

1
Igal Tabachnik

Es gibt ein wirklich cooles Video von der "Sendung mit der Maus" (eine sehr beliebte deutsche Kinderfernsehshow, die Technik für Kinder erklärt):

Die Sendung mit der Maus - Wie funktioniert das Internet (Wie das Internet funktioniert).

Leider nur auf Deutsch, aber lustig auch ohne Text. Männer mit lustigen Helmen spielen die IP-Pakete ab und die Daten werden auf Papierkarten geschrieben. Klassisch :-).

Übrigens sind die Erklärungen eigentlich ziemlich gut.

1
sleske