Maison  >  Article  >  interface Web  >  Que se passe-t-il lorsque vous entrez &#google.com&# ?

Que se passe-t-il lorsque vous entrez &#google.com&# ?

Patricia Arquette
Patricia Arquetteoriginal
2024-09-22 06:15:02688parcourir

What Happens When You Enter

Vous êtes-vous déjà interrogé sur la série complexe d'événements qui se produisent dans la fraction de seconde entre la saisie de « google.com » dans votre navigateur et l'apparition de la page de recherche familière ? Dans cette exploration détaillée, nous découvrirons le monde fascinant des technologies Web, des protocoles de réseau et la danse complexe des données qui rendent nos expériences en ligne possibles.

1. Le voyage commence : votre navigateur et votre système d'exploitation

1.1 Premiers pas du navigateur

Lorsque vous tapez « google.com » et appuyez sur Entrée, votre navigateur entre en action :

  1. Analyse d'URL : Le navigateur analyse d'abord l'URL que vous avez saisie. Il identifie le protocole (dans ce cas, implicite "http://" ou "https://"), le nom de domaine ("google.com") et tout chemin d'accès ou paramètre de requête supplémentaire (aucun dans cet exemple simple) .

  2. Vérification HSTS : pour les sites Web soucieux de la sécurité comme Google, le navigateur vérifie sa liste HTTP Strict Transport Security (HSTS). Si google.com figure sur cette liste (ce qui est le cas), le navigateur met automatiquement à niveau la requête vers HTTPS.

  3. Vérification du cache : Avant de contacter le réseau, le navigateur vérifie son cache local. Ce cache stocke les informations des visites précédentes, notamment :

    • Cache DNS : L'adresse IP associée à google.com
    • Cache de ressources : fichiers HTML, CSS, JavaScript et images de la page d'accueil de Google

Si l'un de ces éléments est trouvé et toujours valide (non expiré), le navigateur peut ignorer certaines des étapes suivantes.

1.2 Rôle du système d'exploitation

Si le navigateur ne trouve pas les informations nécessaires dans son cache, il se tourne vers le système d'exploitation (OS) pour obtenir de l'aide :

  1. Vérification du fichier Hosts : Le système d'exploitation regarde d'abord dans le fichier "hosts" local. Ce fichier peut mapper des noms de domaine sur des adresses IP, contournant potentiellement la recherche DNS. Cependant, pour la plupart des utilisateurs, google.com ne figurera pas dans ce fichier.

  2. Cache client DNS : Le système d'exploitation maintient son propre cache DNS, distinct de celui du navigateur. Il vérifie ici ensuite.

  3. Configuration du résolveur : Si l'IP n'est pas dans le cache local, l'OS se prépare à demander à un serveur DNS. Il lit sa configuration réseau pour savoir quel serveur DNS interroger (généralement fourni par votre fournisseur d'accès Internet ou défini manuellement).

2. Résolution DNS : recherche de l'adresse de Google

Si l'adresse IP de google.com n'est pas mise en cache, nous devons demander au système de noms de domaine (DNS) de traduire le "google.com" lisible par l'homme en une adresse IP utilisable par machine.

2.1 La hiérarchie DNS

Le DNS est organisé selon une structure hiérarchique :

  1. Serveurs racine : Au sommet de la hiérarchie. Ils savent où trouver les serveurs faisant autorité pour les domaines de premier niveau (TLD) comme .com, .org, .net, etc.

  2. Serveurs TLD : Ces serveurs connaissent tous les domaines enregistrés sous leur TLD. Le serveur TLD .com connaît google.com.

  3. Serveurs de noms faisant autorité : Ceux-ci sont chargés de tout savoir sur un domaine spécifique, y compris sa ou ses adresses IP.

2.2 Le processus de requête DNS

  1. Résolveur récursif : le serveur DNS de votre FAI (ou un autre résolveur configuré) reçoit la requête pour google.com. S'il n'a pas la réponse en cache, il démarre un processus récursif :
  • Il interroge un serveur racine à propos de .com
  • Le serveur racine le référence à un serveur TLD .com
  • Il interroge le serveur TLD .com à propos de google.com
  • Le serveur .com le renvoie aux serveurs de noms faisant autorité de Google
  • Il demande au serveur de noms de Google l'adresse IP de google.com
  • Le serveur de noms de Google répond avec l'adresse IP
  1. Mise en cache : Chaque étape de ce processus peut impliquer une mise en cache, de sorte que le parcours complet n'est pas toujours nécessaire. Le résolveur met en cache le résultat final, généralement pendant une durée spécifiée par Google (le Time To Live, ou TTL).

  2. Équilibrage de charge : les grands services comme Google renvoient souvent plusieurs adresses IP. Cela permet un équilibrage de charge et une fiabilité améliorée.

2.3 Exemple de recherche DNS

Disons que la recherche DNS renvoie le résultat (simplifié) suivant :

google.com.     300    IN    A     172.217.167.78

Cela signifie :

  • Le domaine est google.com
  • L'enregistrement a un TTL de 300 secondes (5 minutes)
  • C'est un enregistrement Internet (IN)
  • C'est un type d'enregistrement Adresse (A)
  • L'adresse IP est 172.217.167.78

3. Établir une connexion : TCP/IP

Maintenant que nous avons l'adresse IP de Google, il est temps d'établir une connexion.

3.1 The TCP/IP Stack

  1. Application Layer: Your browser operates here, using HTTP(S) to communicate.

  2. Transport Layer: TCP is used here to ensure reliable, ordered delivery of data.

  3. Internet Layer: IP is used to route packets between networks.

  4. Link Layer: This handles the physical transmission of data, whether over Ethernet, Wi-Fi, cellular networks, etc.

3.2 The TCP Handshake

To establish a connection, a three-way handshake occurs:

  1. SYN: Your computer sends a SYN (synchronize) packet to Google's server.
  2. SYN-ACK: Google's server responds with a SYN-ACK packet.
  3. ACK: Your computer sends an ACK (acknowledge) packet back.

This process establishes sequence numbers for the conversation, ensuring packets can be properly ordered and any lost packets can be detected and retransmitted.

3.3 TLS Handshake

For HTTPS connections (which Google uses), an additional TLS (Transport Layer Security) handshake occurs:

  1. Client Hello: Your browser sends supported SSL/TLS versions, cipher suites, and a random number.
  2. Server Hello: The server chooses the SSL/TLS version and cipher suite, sends its certificate, and another random number.
  3. Authentication: Your browser verifies the server's certificate with a trusted Certificate Authority.
  4. Key Exchange: A secure symmetric key is established for encrypting the session.

4. HTTP Request: Asking for the Page

With a secure connection established, your browser sends an HTTP GET request for the Google homepage.

4.1 Example HTTP Request

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

This request includes:

  • The method (GET) and path (/) we're requesting
  • The HTTP version (HTTP/2)*
  • Various headers providing information about the browser and its capabilities *Note: HTTP/2 refers to HTTPS only, not the http connection. This request is sent over an already-established HTTPS connection, even though the headers don't explicitly mention HTTPS.

5. Server Processing: Google Responds

Google's servers receive this request and process it. This might involve:

  1. Load Balancing: Distributing the request among many servers.
  2. Application Servers: Running code to generate a response.
  3. Database Queries: Fetching personalized data or search suggestions.
  4. Caching: Retrieving pre-generated content when possible.

6. HTTP Response: Sending the Page

Google's server sends back an HTTP response, which might look something like this:

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 ...]

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Google</title>
    [... rest of the HTML ...]
  </head>
  <body>
    [... body content ...]
  </body>
</html>

This response includes:

  • Status code (200 OK)
  • Various headers providing metadata about the response
  • The HTML content of the page

7. Rendering: Bringing the Page to Life

Your browser now has the HTML content and begins rendering the page:

  1. Parsing HTML: The browser parses the HTML, creating the Document Object Model (DOM).

  2. Requesting Additional Resources: As it encounters links to CSS, JavaScript, images, etc., it sends additional HTTP requests for these resources.

  3. Parsing CSS: The browser parses CSS and applies styles to the DOM elements, creating the CSS Object Model (CSSOM).

  4. Executing JavaScript: The browser executes JavaScript, which can modify the DOM and CSSOM.

  5. Rendering: The browser uses the final DOM and CSSOM to render the page on your screen.

Conclusion

What seems like a simple action—typing "google.com" and pressing Enter—actually involves a complex series of steps, from DNS lookups and network protocols to server-side processing and client-side rendering. This intricate dance happens in mere milliseconds, showcasing the incredible engineering that powers our online experiences.

Understanding these processes not only satisfies our curiosity but also helps web developers and IT professionals optimize websites, troubleshoot issues, and build more efficient and secure web applications. The next time you navigate to a website, take a moment to appreciate the technological marvels working behind the scenes to bring the web to your screen!


Images in this blog are AI generated.

Also read HTTP vs HTTPS what is difference between them

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn