Question Comment une URL sait-elle quel serveur elle doit atteindre?


Je me demandais ce qui se passe quand on tape une URL comme http://www.mydomain.com ? Comment savoir où aller pour obtenir les pages de mydomain.com? Comment tout cela se passe-t-il?


4
2018-01-06 05:14


origine


Pourquoi les downovtes? C'est un très question de base, mais je ne vois rien de particulièrement mauvais avec elle. - kce
Je ne l'ai pas défendu, mais on ne sait pas combien de détails le PO veut (et s'il sait même qu'il s'agit d'une question très large). Est-ce que vous voulez juste une explication de DNS? Le routage? TCP?


Réponses:


Une URL n'est qu'une adresse, une référence. Voici comment ça se passe:

  1. l'utilisateur entre l'URL dans le navigateur. Ceci est géré par le pilote du clavier qui enverra des événements de clavier au navigateur, qui répondra en mettant à jour la barre d’adresse avec les caractères saisis.
  2. le navigateur analyse l'URL en différentes parties comme défini par RFC 3986
  3. le navigateur sélectionne la partie hôte et il utilisera la bibliothèque de résolution interne pour trouver l'adresse IP. Le résolveur le plus utilisé est DNS. Pour cela, la bibliothèque de résolveurs qui est mappée dans l'application effectuera une requête UDP sur le port 53 du serveur DNS configuré pour la machine cliente. Le serveur DNS recherchera la demande dans le cache interne et, s'il est expiré ou manquant, il effectuera une requête récursive en essayant de trouver l'adresse.
  4. le navigateur se connecte au serveur HTTP sur le port par défaut (TCP / 80).
  5. le navigateur envoie une requête GET et spécifie également un en-tête HOST selon HTTP / 1.1 voir RFC 2616
  6. le serveur http analysera la requête et enverra la demande à l'hôte virtuel spécifié dans la requête
  7. l'application renvoie le contenu généré (généralement un HTML) au navigateur
  8. le navigateur analyse le résultat, en génère JavaScript/Événements DOM, et rend la page (par ex. Gecko moteur dans FireFox).

C'est une explication très très condensée. Je ne parle pas de SSL, de la négociation de la compression, du langage et de l’encodage des caractères, de l’authentification, du CGI, des lignes de jonction et de la persistance.


9
2018-01-06 05:33



N'y a-t-il aucun rôle de DNS et de fournisseur de services Internet? - OM The Eternity
DNS est généralement utilisé par la bibliothèque de résolveurs pour que l'appel gethostbyname () traduise des noms d'hôte en adresses IP. - Mircea Vutcovici
ISP est utilisé sur les couches OSI ci-dessous TCP. - Mircea Vutcovici
Pour comprendre ce qui se passe, utilisez un renifleur de réseau tel que Wireshark et un proxy de débogage HTTP tel que Fiddler - Mircea Vutcovici
J'ai baissé cette note. C'est une réponse détaillée, mais je ne pense pas que ce soit une réponse à ce que les PO demandent réellement. Il semble que les OP après une explication de DNS et vous avez en quelque sorte ignoré cela dans votre étape 3.