Haben Sie sich jemals über die komplexe Abfolge von Ereignissen gewundert, die im Bruchteil einer Sekunde zwischen der Eingabe von „google.com“ in Ihren Browser und dem Erscheinen der vertrauten Suchseite ablaufen? In dieser detaillierten Erkundung entdecken wir die faszinierende Welt der Web-Technologien, Netzwerkprotokolle und den komplexen Datentanz, der unsere Online-Erlebnisse ermöglicht.
Wenn Sie „google.com“ eingeben und die Eingabetaste drücken, wird Ihr Browser aktiv:
URL-Parsing: Der Browser analysiert zunächst die von Ihnen eingegebene URL. Es identifiziert das Protokoll (in diesem Fall impliziert „http://“ oder „https://“), den Domainnamen („google.com“) und alle zusätzlichen Pfad- oder Abfrageparameter (in diesem einfachen Beispiel keine). .
HSTS-Prüfung: Bei sicherheitsbewussten Websites wie Google überprüft der Browser seine HTTP Strict Transport Security (HSTS)-Liste. Wenn google.com auf dieser Liste steht (was der Fall ist), aktualisiert der Browser die Anfrage automatisch auf HTTPS.
Cache-Prüfung: Bevor der Browser Kontakt zum Netzwerk aufnimmt, überprüft er seinen lokalen Cache. In diesem Cache werden Informationen von früheren Besuchen gespeichert, darunter:
Wenn einer dieser Schritte gefunden wird und noch gültig (nicht abgelaufen) ist, kann der Browser einige der folgenden Schritte überspringen.
Wenn der Browser die erforderlichen Informationen nicht in seinem Cache finden kann, wendet er sich an das Betriebssystem (OS) um Hilfe:
Hosts-Dateiprüfung: Das Betriebssystem sucht zuerst in der lokalen „Hosts“-Datei. Diese Datei kann Domänennamen IP-Adressen zuordnen und so möglicherweise die DNS-Suche umgehen. Für die meisten Nutzer wird google.com jedoch nicht in dieser Datei enthalten sein.
DNS-Client-Cache: Das Betriebssystem verwaltet seinen eigenen DNS-Cache, getrennt vom Browser. Als nächstes wird hier geprüft.
Resolver-Konfiguration: Wenn sich die IP nicht im lokalen Cache befindet, bereitet sich das Betriebssystem darauf vor, einen DNS-Server anzufragen. Es liest seine Netzwerkkonfiguration, um herauszufinden, welcher DNS-Server abgefragt werden soll (normalerweise von Ihrem Internetdienstanbieter bereitgestellt oder manuell festgelegt).
Wenn die IP-Adresse für google.com nicht zwischengespeichert wird, müssen wir das Domain Name System (DNS) bitten, das für Menschen lesbare „google.com“ in eine maschinenverwendbare IP-Adresse zu übersetzen.
DNS ist in einer hierarchischen Struktur organisiert:
Root-Server: An der Spitze der Hierarchie. Sie wissen, wo sich die maßgeblichen Server für Top-Level-Domains (TLDs) wie .com, .org, .net usw. befinden.
TLD-Server: Diese Server kennen alle Domains, die unter ihrer TLD registriert sind. Der .com-TLD-Server kennt google.com.
Authoritative Nameserver: Diese sind dafür verantwortlich, alles über eine bestimmte Domain zu wissen, einschließlich ihrer IP-Adresse(n).
Caching: Jeder Schritt in diesem Prozess kann Caching beinhalten, sodass nicht immer der gesamte Prozess erforderlich ist. Der Resolver speichert das Endergebnis im Cache, normalerweise für eine von Google angegebene Zeit (Time To Live oder TTL).
Lastausgleich: Große Dienste wie Google geben oft mehrere IP-Adressen zurück. Dies ermöglicht einen Lastausgleich und eine verbesserte Zuverlässigkeit.
Angenommen, die DNS-Suche gibt das folgende (vereinfachte) Ergebnis zurück:
google.com. 300 IN A 172.217.167.78
Das heisst:
Da wir nun die IP-Adresse von Google haben, ist es an der Zeit, eine Verbindung herzustellen.
Anwendungsschicht: Ihr Browser arbeitet hier und verwendet HTTP(S) zur Kommunikation.
Transportschicht: TCP wird hier verwendet, um eine zuverlässige, geordnete Lieferung von Daten sicherzustellen.
Internetschicht: IP wird zum Weiterleiten von Paketen zwischen Netzwerken verwendet.
Verbindungsschicht: Diese übernimmt die physische Übertragung von Daten, sei es über Ethernet, WLAN, Mobilfunknetze usw.
Um eine Verbindung herzustellen, erfolgt ein Drei-Wege-Handshake:
Dieser Prozess legt Sequenznummern für die Konversation fest und stellt sicher, dass Pakete ordnungsgemäß geordnet werden können und alle verlorenen Pakete erkannt und erneut übertragen werden können.
Bei HTTPS-Verbindungen (die Google verwendet) erfolgt ein zusätzlicher TLS-Handshake (Transport Layer Security):
Wenn eine sichere Verbindung hergestellt ist, sendet Ihr Browser eine HTTP-GET-Anfrage für die Google-Startseite.
GET / HTTP/2 Host: www.google.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0 Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Connection: keep-alive Upgrade-Insecure-Requests: 1
Diese Anfrage beinhaltet:
Die Server von Google empfangen diese Anfrage und verarbeiten sie. Dies könnte Folgendes beinhalten:
Der Server von Google sendet eine HTTP-Antwort zurück, die etwa so aussehen könnte:
HTTP/2 200 OK Content-Type: text/html; charset=UTF-8 Date: Sat, 21 Sep 2024 12:00:00 GMT Expires: Sat, 21 Sep 2024 12:00:00 GMT Cache-Control: private, max-age=0 Server: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN [... other headers ...]
Diese Antwort enthält:
Ihr Browser verfügt nun über den HTML-Inhalt und beginnt mit der Darstellung der Seite:
HTML analysieren: Der Browser analysiert den HTML-Code und erstellt das Document Object Model (DOM).
Zusätzliche Ressourcen anfordern: Wenn Links zu CSS, JavaScript, Bildern usw. gefunden werden, werden zusätzliche HTTP-Anfragen für diese Ressourcen gesendet.
CSS analysieren: Der Browser analysiert CSS und wendet Stile auf die DOM-Elemente an, wodurch das CSS-Objektmodell (CSSOM) erstellt wird.
JavaScript ausführen: Der Browser führt JavaScript aus, das DOM und CSSOM ändern kann.
Rendering: Der Browser verwendet das endgültige DOM und CSSOM, um die Seite auf Ihrem Bildschirm zu rendern.
Was wie eine einfache Aktion aussieht – „google.com“ eingeben und die Eingabetaste drücken – umfasst in Wirklichkeit eine komplexe Reihe von Schritten, von DNS-Suchen und Netzwerkprotokollen bis hin zur serverseitigen Verarbeitung und clientseitigen Rendering. Dieser komplizierte Tanz findet in nur wenigen Millisekunden statt und zeigt die unglaubliche Technik, die unsere Online-Erlebnisse antreibt.
Das Verständnis dieser Prozesse befriedigt nicht nur unsere Neugier, sondern hilft auch Webentwicklern und IT-Experten dabei, Websites zu optimieren, Probleme zu beheben und effizientere und sicherere Webanwendungen zu erstellen. Wenn Sie das nächste Mal eine Website aufrufen, nehmen Sie sich einen Moment Zeit, um die technologischen Wunder zu bewundern, die hinter den Kulissen arbeiten, um das Web auf Ihren Bildschirm zu bringen!
Bilder in diesem Blog werden KI-generiert.
Lesen Sie auch HTTP vs. HTTPS, was der Unterschied zwischen ihnen ist
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3