Quelqu'un peut-il me dire ce qui se passe dans les coulisses depuis le moment où je tape une URL dans le navigateur jusqu'au moment où je peux voir la page sur le navigateur? Un compte rendu détaillé du processus serait d'une grande aide.
Quelqu'un peut-il me dire ce qui se passe dans les coulisses depuis le moment où je tape une URL dans le navigateur jusqu'au moment où je peux voir la page sur le navigateur? Un compte rendu détaillé du processus serait d'une grande aide.
Réponses:
Attention: il s'agit d'une esquisse extrêmement grossière et simplifiée , en supposant la requête HTTP la plus simple possible (pas de HTTPS, pas de HTTP2, pas d'extras), le DNS le plus simple possible, pas de proxy, IPv4 mono-pile, une seule requête HTTP, un simple serveur HTTP sur l'autre extrémité, et aucun problème dans aucune étape. Il s'agit, pour la plupart des intentions et des buts contemporains, d'un scénario irréaliste; tous ces éléments sont beaucoup plus complexes en utilisation réelle, et la pile technologique est devenue un ordre de grandeur plus compliqué depuis que cela a été écrit. Dans cet esprit, le calendrier suivant est encore quelque peu valide:
Encore une fois, la discussion de chacun de ces points a rempli d'innombrables pages; ne prenez cela que comme un résumé, abrégé par souci de clarté. En outre, de nombreuses autres choses se produisent en parallèle à cela (traitement de l'adresse tapée, prélecture spéculative, ajout de la page à l'historique du navigateur, affichage de la progression à l'utilisateur, notification des plugins et des extensions, rendu de la page pendant le téléchargement, pipelining, suivi de la connexion pour keep-alive, gestion des cookies, vérification du contenu malveillant, etc.) - et l'ensemble de l'opération devient un ordre de grandeur plus complexe avec HTTPS (certificats et chiffres et épinglage, oh mon Dieu!).
L'ordinateur recherche d'abord l'hôte de destination. S'il existe dans le cache DNS local, il utilise ces informations. Sinon, la requête DNS est effectuée jusqu'à ce que l'adresse IP soit trouvée.
Ensuite, votre navigateur ouvre une connexion TCP à l'hôte de destination et envoie la demande selon HTTP 1.1 (ou peut utiliser HTTP 1.0, mais les navigateurs normaux ne le font plus).
Le serveur recherche la ressource requise (si elle existe) et répond en utilisant le protocole HTTP, envoie les données au client (= votre navigateur)
Le navigateur utilise ensuite l'analyseur HTML pour recréer la structure du document qui vous sera ensuite présentée à l'écran. S'il trouve des références à des ressources externes, telles que des images, des fichiers css, des fichiers javascript, celles-ci sont fournies de la même manière que le document HTML lui-même.
Recherchez la spécification de HTTP. Ou pour commencer, essayez http://www.jmarshall.com/easy/http/