Dieser Artikel bietet Ihnen eine Einführung in den spezifischen Prozess der Eingabe einer URL in den Browser und des Initiierens einer HTTP-Anfrage. Ich hoffe, dass er für Freunde in Not hilfreich ist Du.
Der Benutzer gibt die URL ein
Wenn der Benutzer die URL eingibt, übergibt das Betriebssystem das Eingabeereignis an den Browser Der Browser führt möglicherweise eine Vorverarbeitung durch. Beispielsweise schätzt Chrome anhand historischer Statistiken, welche Website dem eingegebenen Zeichen entspricht. Wenn Sie beispielsweise goog eingeben, wird festgestellt, dass eine Wahrscheinlichkeit von 90 % besteht, dass Sie „www.google“ besuchen. com“ basierend auf dem vorherigen Verlauf, sodass es nach der Eingabe zurückgegeben wird. Die TCP-Verbindung und sogar das Rendern begannen unmittelbar vor dem Auto.
Dann geben Sie die URL ein und klicken Sie auf Enter. Zu diesem Zeitpunkt prüft der Browser zunächst das Protokoll. Außerdem wird die URL verarbeitet auf Sicherheit überprüft werden
Nachdem die Sicherheitsüberprüfung abgeschlossen ist, überprüft der Browserkernel zunächst den Cache, legt dann UA und andere HTTP-Informationen fest und ruft dann die Netzwerkanforderungsmethode auf verschiedenen Plattformen auf.
Hinweis:
Browser und Browserkernel sind unterschiedliche Konzepte. Browser bezieht sich auf Chrome und Firefox, während sich Browserkernel auf Blink und Gecko bezieht. Browserkernel Es ist nur für das Rendern verantwortlich. Plattformübergreifende Arbeiten wie GUI und Netzwerkverbindung werden vom Browser implementiert
IP über DNS abfragen;
Daten über Socket senden
DNS, Domain Name System auf Englisch und Domain Name System auf Chinesisch, ist ein Dienst des Internets. Es handelt sich um eine verteilte Datenbank, die Domainnamen und IP-Adressen einander zuordnet
Annahme Der Benutzer gibt www.google.com in den Browser ein. Der ungefähre Vorgang ist:
Wenn es sich bei der Eingabe um einen Domänennamen handelt, ist eine DNS-Abfrage erforderlich, um den Domänennamen in eine IP aufzulösen > Führen Sie eine DNS-Abfrage durch. Der Host oder die Software wird als DNS-Resolver bezeichnet, und die vom Benutzer verwendete Workstation oder der Computer ist ein Resolver. Bei der Domänennamenauflösung wird ein DNS-Resolver verwendet, um die entsprechende IP zu erhalten. Der Resolver fragt den Domänennamenserver zur Verarbeitung ab.
Der Hauptvorgang ist wie folgt:
, Die Domänennamenabfrage kann über den CDN-Planer erfolgen (sofern eine CDN-Speicherfunktion vorhanden ist)
Und , Sie müssen wissen, dass die DNS-Auflösung sehr zeitaufwändig ist. Wenn Sie also zu viele Domänennamen auflösen, wird das Laden des ersten Bildschirms zu langsam sein. Sie können eine DNS-Prefetch-Optimierung
TCP/IP-Anfrage
Mit der IP-Adresse können Daten über die Socket-API gesendet werden. Zu diesem Zeitpunkt kann das TCP- oder UDP-Protokoll ausgewählt werden. http ist im Wesentlichen ein TCP-Protokoll. TCP ist ein verbindungsorientiertes Transportschichtprotokoll. Dadurch kann sichergestellt werden, dass die Kommunikation zwischen den Kommunikationshosts an beiden Enden (sendendes und empfangendes Ende) erreichbar ist. Es kann ungewöhnliche Situationen wie Paketverluste während der Übertragung und eine gestörte Übertragungsreihenfolge bewältigen. Darüber hinaus kann es Breitband effektiv nutzen, um Netzwerküberlastungen zu lindern. Der Aufbau einer TCP-Verbindung erfordert zu Beginn drei Handshakes: Der erste Handshake fordert den Aufbau einer Verbindung an, und der Absender sendet eine VerbindungsanforderungsnachrichtDer zweite Handshake, die empfangende Seite empfängt Aus der vom Sender gesendeten Nachricht ist ersichtlich, dass der Sender nun eine Verbindung aufbauen möchte. Dann sendet die empfangende Seite eine Nachricht an die sendende Seite
für den dritten Handshake. Nachdem die sendende Seite die gesendete Nachricht erhalten hat, muss sie prüfen, ob der zurückgegebene Inhalt korrekt ist Ende wird es erneut tun Senden Sie ein Bestätigungspaket
Hinweis
Browser haben eine Begrenzung der Anzahl von Verbindungen für denselben Domänennamen, die meisten davon sind 6. In http1.0 muss ein Ressourcen-Download oft einem TCP/IP entsprechen. IP-Anfrage und wie HTTP 2.0 Obwohl das Protokoll nur eine TCP-Verbindung zum Übertragen von Daten verwendet, ist seine Leistung besser und es kann auch Anforderungspriorität implementieren.
Das obige ist der detaillierte Inhalt vonEine Einführung in den spezifischen Prozess der Eingabe einer URL in einen Browser und der Initiierung einer http-Anfrage.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!