Kann mir jemand sagen, was alles hinter den Kulissen passiert, von der Eingabe einer URL im Browser bis zur Anzeige der Seite im Browser? Eine detaillierte Darstellung des Prozesses wäre eine große Hilfe.
Kann mir jemand sagen, was alles hinter den Kulissen passiert, von der Eingabe einer URL im Browser bis zur Anzeige der Seite im Browser? Eine detaillierte Darstellung des Prozesses wäre eine große Hilfe.
Antworten:
Achtung: Dies ist eine äußerst grobe und stark vereinfachte Skizze, bei der die einfachste mögliche HTTP-Anforderung (kein HTTPS, kein HTTP2, keine Extras), das einfachste mögliche DNS, keine Proxys, Single-Stack-IPv4, nur eine HTTP-Anforderung und ein einfacher HTTP-Server vorausgesetzt werden das andere Ende und keine Probleme in jedem Schritt. Dies ist für die meisten gegenwärtigen Absichten und Zwecke ein unrealistisches Szenario; All dies ist im tatsächlichen Gebrauch weitaus komplexer, und der Tech-Stack ist seit dem Schreiben um eine Größenordnung komplizierter geworden. In diesem Sinne ist die folgende Zeitleiste noch etwas gültig:
Wiederum hat die Diskussion über jeden dieser Punkte unzählige Seiten gefüllt; Nehmen Sie dies nur als Zusammenfassung, der Klarheit halber gekürzt. Parallel dazu passieren noch viele andere Dinge (Eingabe der eingegebenen Adresse, spekulatives Prefetching, Hinzufügen einer Seite zum Browserverlauf, Anzeigen des Fortschritts für den Benutzer, Benachrichtigen von Plugins und Erweiterungen, Rendern der Seite während des Herunterladens, Pipelining, Verbindungsverfolgung für Keep-Alive, Cookie-Verwaltung, Überprüfung auf schädliche Inhalte usw.) - und der gesamte Vorgang wird mit HTTPS um eine Größenordnung komplexer (Zertifikate und Chiffren und Pinning, oh mein Gott!).
Zuerst sucht der Computer den Zielhost. Wenn es im lokalen DNS-Cache vorhanden ist, werden diese Informationen verwendet. Andernfalls wird eine DNS-Abfrage durchgeführt, bis die IP-Adresse gefunden wurde.
Anschließend öffnet Ihr Browser eine TCP-Verbindung zum Zielhost und sendet die Anforderung gemäß HTTP 1.1 (oder verwendet möglicherweise HTTP 1.0, normale Browser tun dies jedoch nicht mehr).
Der Server sucht nach der erforderlichen Ressource (falls vorhanden) und antwortet mit dem HTTP-Protokoll. Er sendet die Daten an den Client (= Ihren Browser).
Der Browser verwendet dann den HTML-Parser, um die Dokumentstruktur neu zu erstellen, die Ihnen später auf dem Bildschirm angezeigt wird. Wenn Verweise auf externe Ressourcen wie Bilder, CSS-Dateien oder Javascript-Dateien gefunden werden, werden diese auf dieselbe Weise wie das HTML-Dokument selbst geliefert.
Schlagen Sie die Spezifikation von HTTP nach. Oder versuchen Sie es mit http://www.jmarshall.com/easy/http/.