Heim  >  Artikel  >  Web-Frontend  >  Wie sieht der Prozess von der Eingabe einer URL bis zum Abschluss des Ladens der Seite aus?

Wie sieht der Prozess von der Eingabe einer URL bis zum Abschluss des Ladens der Seite aus?

一个新手
一个新手Original
2017-10-06 10:40:271220Durchsuche

Was passiert von der Eingabe der URL bis zum Abschluss des Ladens der Seite

Prozessbeschreibung

  1. Der Browser sucht nach der IP-Adresse, die dem Domainnamen entspricht;

  2. Der Browser stellt basierend auf der IP-Adresse eine Socket-Verbindung mit dem Server her

  3. Kommunikation zwischen dem Browser und dem Server: Der Browser fordert und an der Server verarbeitet die Anfrage;

  4. Der Browser ist vom Server getrennt.

Eine IP-Adresse anhand eines Domainnamens finden

Konzeptanalyse
  1. IP-Adresse: Das IP-Protokoll liefert die Grundlage Für jedes Netzwerk und jedes Netzwerk im Internet wird jedem Host eine logische Adresse zugewiesen. Die IP-Adresse ist wie eine Hausnummer. Der Standort eines Hosts kann anhand der IP-Adresse bestimmt werden. Der Server ist im Wesentlichen ein Host. Wenn Sie auf einen Server zugreifen möchten, müssen Sie zunächst dessen IP-Adresse kennen.

  2. Domänenname (HOST): Die IP-Adresse besteht aus vier Zahlen mit a Der Punkt in der Mitte ist schwer zu merken und bei der Verwendung kann es leicht zu Fehlern kommen. Verwenden Sie daher bekannte Kombinationen aus Buchstaben und Zahlen anstelle rein numerischer IP-Adressen. Wir werden uns beispielsweise nur an www.baidu.com erinnern (Baidu-Domainname). ) statt 220.181.112.244 (eine der IP-Adressen von Baidu);

  3. DNS: Jeder Domainname entspricht der IP-Adresse eines oder mehrerer Server, die denselben Dienst bereitstellen Über die Server-IP-Adresse kann eine Verbindung hergestellt werden. Daher muss der Domänenname über DNS in eine IP-Adresse aufgelöst werden.

Nachdem Sie die oben genannten Konzepte kennengelernt haben, wissen Sie wahrscheinlich, dass Sie zuerst den Domainnamen in eine IP-Adresse umwandeln müssen, wenn Sie die Hausnummer des Servers erhalten möchten. Der Konvertierungsprozess ist wie folgt (nehmen Sie als Beispiel die Abfrage der IP-Adresse von www.baidu.com, die Schritte 2, 3 und 4 werden alle ausgeführt, wenn die Abfrage im vorherigen Schritt nicht erfolgreich war):

Suchvorgang
  1. Der Browser durchsucht seinen eigenen DNS-Cache (unterhält eine Entsprechungstabelle zwischen Domänennamen und IP-Adressen);

  2. Durchsucht den DNS-Cache im Betriebssystem (unterhält eine Tabelle mit Korrespondenztabellen zwischen Domänennamen und IP-Adressen);

  3. Durchsuchen Sie die Hosts-Datei des Betriebssystems (unterhalten Sie in einer Windows-Umgebung eine Korrespondenztabelle zwischen Domänennamen und IP

  4. Das Betriebssystem sendet den Domänennamen an LDNS (lokaler Zonennamenserver). (Wenn die Suche erfolgreich ist, wird der LDNS-Server bei Ihrem lokalen Telekommunikationsunternehmen abgefragt.) schlägt fehl, wird eine iterative DNS-Auflösungsanforderung initiiert;

    1. LDNS initiiert eine Anfrage an RootNameServer (Stammdomänennamenserver, obwohl es nicht über spezifische Informationen zu jedem Domänennamen verfügt). Es speichert die Adresse des Top-Level-Domain-Name-Servers, der für die Auflösung jeder Domain verantwortlich ist, z. B. com, net, org usw. Hier gibt Root Name Server die Adresse des Top-Level-Domain-Name-Servers zurück com-Domäne;

    2. LDNS initiiert eine Anfrage an den Top-Level-Domänennamenserver der com-Domäne und gibt die Adresse des baidu.com-Domänennamenservers zurück;

    3. LDNS initiiert eine Anfrage an den baidu.com-Domänennamenserver und erhält die IP-Adresse von www.baidu.com;
    LDNS gibt die erhaltene IP zurück Adresse an das Betriebssystem senden und gleichzeitig die IP-Adresse selbst zwischenspeichern
  5. Das Betriebssystem gibt die IP-Adresse an den Browser zurück und speichert gleichzeitig die IP-Adresse selbst zwischen ;
  6. Zu diesem Zeitpunkt hat der Browser die dem Domänennamen entsprechende IP-Adresse erhalten.
  7. Zusätzliche Erklärung
    Domänenname und URL sind zwei Konzepte: Ein Domänenname ist der Name eines Servers oder einer Gruppe von Servern Um zu bestimmen, wo sich der Server befindet, ist die URL ein einheitlicher Ressourcen-Locator, der verwendet wird, um den spezifischen Standort einer bestimmten Datei zu bestimmen. Laut diesem Domänennamen ist zhihu.com kann den Server von Zhihu finden, zhihu.com/people/CompileYouth ist eine URL, und ich kann meine Zhihu-Homepage anhand dieser URL finden
  1. IP-Adressen und Domänennamen sind nicht in einem -zu-eins-Korrespondenz: Mehrere Server-IPs, die denselben Dienst bereitstellen, können auf denselben A-Domänennamen eingestellt werden, aber ein Domänenname kann gleichzeitig nur in eine IP-Adresse aufgelöst werden an mehrere Domänennamen gebunden, die Anzahl ist nicht begrenzt;
  2. Verbindung herstellen: Drei-Wege-Handshake

Da Sie nun die IP-Adresse des Servers kennen, beginnen Sie Herstellen einer Verbindung mit dem Server.

Laienhaft ausgedrückt erfordert der Aufbau einer Kommunikationsverbindung die folgenden drei Prozesse:

    Der Host sendet eine Anfrage zum Aufbau einer Verbindung an den Server (Hallo, ich Ich möchte Sie kennenlernen);
  1. Der Server sendet ein Signal, das der Verbindung zustimmt, nachdem er die Anfrage erhalten hat (ok, schön, Sie kennenzulernen);
  2. Der Host erhält die Zustimmung. Nach Erhalt des Verbindungssignals wird erneut ein Bestätigungssignal an den Server gesendet (schön, Sie kennenzulernen). Seitdem haben der Host und der Server eine Verbindung hergestellt.
  3. Zusätzliche Erklärung: TCP-Protokoll: Der Drei-Wege-Handshake-Prozess verwendet das TCP-Protokoll, das die Zuverlässigkeit der Informationsübertragung während des Drei-Wege-Handshake-Prozesses gewährleisten kann, wenn eine Partei dies nicht kann Wenn Sie das Bestätigungssignal empfangen, fordert das Protokoll erneut ein Signal an.

Datenübertragung

Nachdem der Server eine Verbindung mit dem Host hergestellt hat, kommuniziert der Host mit dem Server. Bei der Webseitenanforderung handelt es sich um einen einseitigen Anforderungsprozess, d. h. ein Host fordert Daten vom Server an und der Server gibt die entsprechenden Daten zurück.

  1. Der Browser generiert eine HTTP-Anfrage basierend auf dem URL-Inhalt. Die Anfrage enthält den Speicherort der angeforderten Datei, die Methode zum Anfordern der Datei usw.;

  2. Der Server akzeptiert. Nach Erhalt der Anfrage entscheidet er anhand des Inhalts der HTTP-Anfrage, wie er die entsprechende HTML-Datei erhält.
  3. Der Server sendet die Erhaltene HTML-Datei an den Browser;
  4. Beginn des Renderns und Anzeigens der Webseite, bevor der Browser die HTML-Datei vollständig empfangen hat; Wenn Sie den Code im HTML-Code eingeben, fordert der Browser weiterhin nach Bedarf Bilder, CSS, JavaScript und andere Dateien an. Der Vorgang ist der gleiche wie beim Anfordern von HTML
  5. Trennen: viermal winken
  6. Der Host sendet eine Verbindungsanfrage an den Server (es ist spät, ich sollte gehen);

    Nach Erhalt der Anfrage sendet der Server ein Signal zur Bestätigung des Empfangs der Anfrage (verstanden);
  1. Der Server sendet eine Trennungsbenachrichtigung an den Host (es ist auch Zeit für mich zu gehen);
  2. Der Host trennt die Verbindung, nachdem er die Trennungsbenachrichtigung erhalten hat, und gibt ein Bestätigungssignal zurück (naja, OK), der Server trennt die Verbindung, nachdem er das Bestätigungssignal erhalten hat
  3. Ergänzende Erklärung
  4. Warum der Server nicht sofort zustimmt, die Verbindung zu trennen, wenn er eine Trennungsanforderung empfängt: Wenn der Server eine Anforderung zum Trennen empfängt, sind möglicherweise noch Daten vorhanden, die nicht gesendet wurden. Daher sendet der Server zunächst ein Bestätigungssignal und Wartet, bis alle Daten gesendet wurden, bevor er der Trennung zustimmt.

  5. Nach dem vierten Handshake hat der Host die Verbindung nicht sofort nach dem Senden des Bestätigungssignals getrennt, sondern zwei Nachrichtenübertragungszyklen gewartet. Der Grund ist: Wenn die Bestätigungsinformationen des vierten Handshakes verloren gehen, wird der Server die Verbindung trennen Das Trennungssignal des dritten Handshakes wird erneut gesendet, und die Zeit, in der der Server den Paketverlust erkennt und die erneut gesendete Trennung den Host erreicht, beträgt genau 2 Nachrichtenübertragungszyklen.
Dieser Artikel beschreibt grob den gesamten Prozess von der Eingabe der URL bis zum Abschluss des Ladens der Seite. Ich persönlich finde die Beschreibung ziemlich gut, deshalb möchte ich sie in meinen Blog aufnehmen, damit ich sie teilen und daraus lernen kann alle.

Ursprüngliche Adresse: Was passiert von der Eingabe der URL bis zum Abschluss des Seitenladens

Das obige ist der detaillierte Inhalt vonWie sieht der Prozess von der Eingabe einer URL bis zum Abschluss des Ladens der Seite aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Einige Fragen zu SaitenNächster Artikel:Einige Fragen zu Saiten