Quelqu'un peut-il me dire ce qui se passe dans les coulisses à partir du moment où je tape une URL dans le navigateur jusqu'au moment où je vois la page du navigateur? Un compte rendu détaillé du processus serait d'une grande aide.
Attention: il s’agit d’un croquis extrêmement grossier et trop simplifié, en supposant que la requête HTTP la plus simple possible (pas de HTTPS, pas de HTTP2, pas de suppléments), le DNS le plus simple possible, pas de proxy, IPv4 à pile unique, une requête HTTP seulement, un serveur HTTP simple à l’autre extrémité, et aucun problème à aucune étape. Pour la plupart des intentions et des buts contemporains, il s’agit d’un scénario irréaliste; Tous ces éléments sont bien plus complexes dans leur utilisation réelle, et la pile de technologies est devenue un ordre de grandeur plus compliqué depuis la rédaction de cet article. Dans cet esprit, la chronologie suivante est encore valable:
Encore une fois, la discussion de chacun de ces points a rempli d'innombrables pages; prenez ceci comme un résumé, abrégé pour plus de clarté. De plus, de nombreuses autres choses se déroulent parallèlement à cela (traitement d'adresse saisie, prélecture spéculative, ajout de page à l'historique du navigateur, affichage de la progression de l'utilisateur, notification des plugins et des extensions, rendu de la page pendant son téléchargement, traitement en pipeline, suivi des connexions). Keep-Alive, gestion des cookies, vérification du contenu malveillant, etc.) - et l'opération entière devient un ordre de grandeur plus complexe avec HTTPS (certificats et chiffrements et épinglage, oh mon dieu!).
Tout d'abord, l'ordinateur recherche l'hôte de destination. S'il existe dans le cache DNS local, il utilise ces informations. Sinon, l'interrogation 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 est 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 livrées 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/