Maison  >  Article  >  interface Web  >  À quoi ressemble le processus depuis la saisie d’une URL jusqu’à la fin du chargement de la page ?

À quoi ressemble le processus depuis la saisie d’une URL jusqu’à la fin du chargement de la page ?

一个新手
一个新手original
2017-10-06 10:40:271220parcourir

Que se passe-t-il depuis la saisie de l'URL jusqu'à la fin du chargement de la page

Description du processus

  1. Le navigateur recherche l'adresse IP correspondant au nom de domaine

  2. Le navigateur établit une connexion socket avec le serveur en fonction de l'adresse IP

  3. Communication entre le navigateur et le serveur : Le navigateur demande, et le serveur traite la requête

  4. Le navigateur est déconnecté du serveur.

Trouver une adresse IP basée sur un nom de domaine

Analyse du concept
  1. Adresse IP : Le protocole IP constitue la base pour chaque réseau et réseau sur Internet Une adresse logique attribuée à chaque hôte. L'adresse IP est comme un numéro de maison. L'emplacement d'un hôte peut être déterminé par l'adresse IP. Le serveur est essentiellement un hébergeur. Si vous souhaitez accéder à un serveur, vous devez d'abord connaître son adresse IP

  2. Nom de domaine (HOST) : L'adresse IP est composée de quatre chiffres avec un ; point au milieu. La connexion numérique est difficile à mémoriser et il est facile de commettre des erreurs lors de l'utilisation, utilisez donc des combinaisons familières de lettres et de chiffres au lieu d'adresses IP purement numériques. Par exemple, nous ne retiendrons que www.baidu.com (nom de domaine Baidu). ) au lieu de 220.181.112.244 (une des adresses IP de Baidu)

  3. DNS : Chaque nom de domaine correspond à l'adresse IP d'un ou plusieurs serveurs qui fournissent le même service ; l'adresse IP du serveur peut être établie. Par conséquent, le nom de domaine doit être résolu en adresse IP via DNS.

Après avoir connu les concepts ci-dessus, vous savez probablement que si vous souhaitez obtenir le numéro de maison du serveur, vous devez d'abord convertir le nom de domaine en adresse IP. Le processus de conversion est le suivant (prenons l'exemple de l'interrogation de l'adresse IP de www.baidu.com, les étapes 2, 3 et 4 sont toutes effectuées si l'étape précédente n'a pas réussi à interroger) :

Processus de recherche
  1. Le navigateur recherche son propre cache DNS (maintient une table de correspondance entre les noms de domaine et les adresses IP) ;

  2. Recherche le cache DNS dans le système d'exploitation (maintient une table Table de correspondance entre les noms de domaine et les adresses IP)

  3. Rechercher le fichier hosts du système d'exploitation (dans l'environnement Windows, maintenir une table de correspondance entre les noms de domaine et les adresses IP) adresses);

  4. Le système d'exploitation envoie le nom de domaine à LDNS (serveur de noms de zone local). Si vous accédez à Internet à l'école, le serveur LDNS est à l'école. Internet via les télécommunications, le serveur LDNS se trouve chez votre entreprise de télécommunications locale.) LDNS interroge son propre cache DNS (généralement, le taux de réussite de la recherche est d'environ 80 %). échoue, il lancera une demande de résolution DNS itérative

    1. LDNS lance une demande à RootNameServer (serveur de noms de domaine racine, bien qu'il ne dispose pas d'informations spécifiques sur chaque nom de domaine, il stocke l'adresse du serveur de noms de domaine de premier niveau responsable de la résolution de chaque domaine, tel que com, net, org, etc.). Ici, Root Name Server renvoie l'adresse du serveur de noms de domaine de premier niveau du domaine com ;

    2. LDNS lance une requête au serveur de noms de domaine de premier niveau du domaine com et renvoie l'adresse du serveur de noms de domaine baidu.com

      ;
    3. LDNS lance une requête au serveur de noms de domaine baidu.com et obtient l'adresse IP de www.baidu.com

  5. LDNS renvoie l'adresse IP obtenue ; au système d'exploitation et en même temps met en cache l'adresse IP elle-même

  6. Le système d'exploitation renvoie l'adresse IP au navigateur et met en cache en même temps l'adresse IP elle-même ; ;

  7. À ce stade, le navigateur a obtenu l'adresse IP correspondant au nom de domaine.

Explication supplémentaire
  1. Le nom de domaine et l'URL sont deux notions : un nom de domaine est le nom d'un serveur ou d'un groupe de serveurs, utilisé pour déterminer où se trouve le serveur Emplacement sur Internet ; l'URL est un localisateur de ressources uniforme, utilisé pour déterminer l'emplacement spécifique d'un certain fichier. Par exemple, zhihu.com est le nom de domaine de Zhihu. Selon ce nom de domaine, vous. Je peux trouver le serveur de Zhihu, zhihu.com/people/CompileYouth est une URL, et je peux localiser ma page d'accueil Zhihu en fonction de cette URL

  2. Les adresses IP et les noms de domaine ne sont pas dans une seule ; Correspondance -à-un : plusieurs adresses IP de serveur qui fournissent le même service peuvent être définies sur le même nom de domaine A, mais un nom de domaine ne peut être résolu qu'en une seule adresse IP en même temps, une seule adresse IP peut être ; lié à plusieurs noms de domaine, le nombre n'est pas limité

Établir une connexion : poignée de main à trois

Maintenant que vous connaissez l'adresse IP du serveur, démarrez établir une connexion avec le serveur.

En termes simples, l'établissement d'une connexion de communication nécessite les trois processus suivants :

  1. L'hébergeur envoie une requête pour établir une connexion au serveur (Bonjour, je je veux faire connaissance );

  2. Le serveur envoie un signal acceptant de se connecter après avoir reçu la demande (ok, ravi de vous rencontrer);

  3. L'hébergeur reçoit le consentement Après avoir reçu le signal de connexion, un signal de confirmation est à nouveau envoyé au serveur (ravi de vous rencontrer également). Depuis, l'hébergeur et le serveur ont établi une connexion.

Explication supplémentaire : Protocole TCP : le processus de négociation à trois voies utilise le protocole TCP, qui peut garantir la fiabilité de la transmission des informations pendant le processus de négociation à trois voies, si une partie ne peut pas le faire. recevez le signal de confirmation, le protocole demandera un signal renvoyé.

Transmission de données

Une fois que le serveur a établi une connexion avec l'hôte, l'hôte communique avec le serveur. La demande de page Web est un processus de demande unidirectionnel, c'est-à-dire qu'un hôte demande des données au serveur et que le serveur renvoie les données correspondantes.

  1. Le navigateur génère une requête HTTP basée sur le contenu de l'URL. La requête inclut l'emplacement du fichier demandé, la méthode de demande du fichier, etc.;

  2. Le serveur accepte Après avoir reçu la demande, il décidera comment obtenir le fichier HTML correspondant en fonction du contenu de la requête HTTP
  3. Le serveur enverra le ; obtenu le fichier HTML au navigateur ;
  4. Démarrez le rendu et l'affichage de la page Web avant que le navigateur n'ait entièrement reçu le fichier HTML
  5. Lors de l'exécution ; le code dans le HTML, le navigateur continuera à demander des images selon les besoins, CSS, JavsScript et autres fichiers, le processus est le même que pour demander du HTML
  6. Déconnecter : agiter quatre fois

L'hébergeur envoie une déconnexion au serveur Demande de connexion (il est tard, je devrais y aller
  1. Après avoir reçu la demande, le serveur envoie) ; un signal pour confirmer la réception de la demande (je l'ai compris)
  2. Le serveur envoie une notification de déconnexion à l'hébergeur (il est temps pour moi de partir aussi) ;
  3. L'hôte se déconnecte après avoir reçu la notification de déconnexion et renvoie un signal de confirmation (enfin, OK), le serveur se déconnecte après avoir reçu le signal de confirmation
  4. Explication supplémentaire
  5. Pourquoi le serveur n'accepte pas immédiatement de se déconnecter lors de la réception de la demande de déconnexion : lorsque Lorsque le serveur reçoit une demande de déconnexion, il peut encore y avoir des données qui n'ont pas été envoyées, donc le serveur envoie d'abord un signal de confirmation et attend que toutes les données soient envoyées avant d’accepter de se déconnecter.
Après la quatrième poignée de main, l'hôte ne s'est pas déconnecté immédiatement après l'envoi du signal de confirmation, mais a attendu 2 cycles de transmission du message. La raison est la suivante : si les informations de confirmation de la quatrième poignée de main sont perdues, le serveur le fera. le signal de déconnexion de la troisième poignée de main sera renvoyé, et le moment où le serveur détecte la perte de paquet et où la nouvelle déconnexion atteint l'hôte est exactement de 2 cycles de transmission de message.

Cet article décrit grossièrement l'ensemble du processus depuis la saisie de l'URL jusqu'à la fin du chargement de la page. Personnellement, je pense que la description est plutôt bonne, je souhaite donc la mettre sur mon blog pour que je puisse la partager et en tirer des leçons. tout le monde.

Adresse d'origine : que se passe-t-il entre la saisie de l'URL et la fin du chargement de la page

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