quelqu'un peut-il me dire ce que tout ce qui se passe dans les coulisses de l’époque, je tape une adresse URL dans le navigateur à l’heure quand j’arrive à se la page sur le navigateur ? Un compte rendu détaillé du processus serait d’une grande aide
Réponses
Trop de publicités?Dans un environnement très rude et croquis simplifié, en supposant que le plus simple possible de la requête HTTP, pas de proxy et IPv4 (ce serait le travail de la même façon pour IPv6 seul client, mais je n'ai pas encore de voir un tel poste de travail):
- navigateur vérifie le cache; si l'objet demandé est en cache et est frais, passez à l' #9
- navigateur demande à l'OS pour adresse IP du serveur
- OS fait une recherche DNS et les réponses de l'adresse IP dans le navigateur
- le navigateur ouvre une connexion TCP vers le serveur (cette étape est beaucoup plus complexe avec HTTPS)
- le navigateur envoie une requête HTTP via TCP connexion
- le navigateur reçoit la réponse HTTP et peut fermer la connexion TCP, ou de la réutiliser pour une autre demande
- navigateur vérifie si la réponse est une redirection (3xx résultat codes d'état), demande d'autorisation (401), (erreur 4xx et 5xx), etc.; celles-ci sont gérées différemment des réactions normales (2xx)
- si mis en cache, la réponse est stockée dans la mémoire cache
- navigateur décode le signal de réponse (par exemple si c'est au format gzip)
- navigateur détermine la réponse (par exemple une page HTML, une image, un clip audio?)
- rend navigateur de réponse, ou offre une boîte de dialogue de téléchargement pour les types non reconnu
Encore une fois, la discussion de chacun de ces points ont rempli les pages innombrables; prendre cela comme un point de départ. Aussi, il y a beaucoup d'autres choses qui se passent en parallèle (traitement tapé l'adresse de page d'ajout de l'historique du navigateur, affichant des progrès à l'utilisateur, en notifiant les plugins et extensions, le rendu de la page alors que c'est le téléchargement, le pipelining, suivi de connexion pour keep-alive, etc.).
D'abord l'ordinateur examine l'hôte de destination. Si elle existe dans le cache de DNS local, il utilise cette information. Sinon, DNS interrogation est effectuée jusqu'à ce que l'adresse IP est trouvé.
Ensuite, votre navigateur ouvre une connexion TCP vers l'hôte de destination et envoie la demande en fonction de HTTP 1.1 (ou pourraient utiliser le protocole HTTP 1.0, mais c'est normal, les navigateurs ne pas faire plus).
Le serveur recherche les ressources requises (si elle existe) et répond en utilisant le protocole HTTP et envoie les données au client (=votre navigateur)
Le navigateur utilise ensuite analyseur HTML pour re-créer la structure du document qui est ensuite présentée à l'écran. Si elle trouve des références à des ressources externes, tels que des images, des fichiers css, fichiers javascript, ceux-ci sont remis la même manière que le document HTML lui-même.
Recherchez la spécification du protocole HTTP. Ou pour commencer, essayez http://www.jmarshall.com/easy/http/