[Cours recommandés : tutoriel http]
Le processus de requête http est :
(1) Établissement d'une connexion TCP
Avant le début du travail HTTP, le navigateur Web doit d'abord communiquer avec le serveur Web via le réseau Établissez une connexion qui s'effectue via TCP. Ce protocole et le protocole IP construisent conjointement Internet, le célèbre protocole TCP/IP, c'est pourquoi Internet est également appelé réseau TCP/IP. HTTP est un protocole de couche application de niveau supérieur à TCP. Selon les règles, les connexions de protocole de niveau supérieur ne peuvent être établies qu'après l'établissement du protocole de niveau inférieur. Par conséquent, une connexion TCP doit être établie en premier. de la connexion TCP est 80. Pour établir une connexion TCP, vous devez trouver l'hôte qui se connecte. Vous devez donc d'abord résoudre le nom de domaine pour obtenir l'adresse IP, puis trouver l'hôte et effectuer une négociation à trois pour établir la connexion TCP (établir un pont de communication entre les deux ordinateurs)
(2) Navigation Web Le navigateur envoie une commande de requête au serveur Web
Une fois la connexion TCP établie, le navigateur Web envoie une requête commande au serveur Web. Par exemple : GET/hello/index.jsp HTTP/1.1. Une fois que le navigateur a envoyé sa commande de requête, il envoie également d'autres informations au serveur Web sous la forme d'informations d'en-tête (par exemple : Accepter, User-Agent, etc.), puis le navigateur envoie une ligne vide pour avertir le serveur. qu'il est terminé. L'envoi de ces informations d'en-tête.
(3) Réponse du serveur Web
Après que le client ait envoyé une requête au serveur, le serveur répondra au client, le contenu de la réponse comprend : le numéro de version du protocole et le code d'état de la réponse : HTTP/1.1 200 OK, les informations d'en-tête de réponse pour enregistrer les propres données du serveur et le contenu du document demandé. Enfin, une ligne vide est envoyée pour indiquer que l'envoi des informations d'en-tête est terminé, puis les données réelles demandées par l'utilisateur sont envoyées dans le format décrit par les informations d'en-tête de réponse Content-Type.
(4) Le serveur Web ferme la connexion TCP
Généralement, une fois que le serveur Web envoie les données demandées au navigateur, il fermera la connexion TCP, mais Si le navigateur ou le serveur ajoute cette ligne de code à ses informations d'en-tête : Connection:keep-alive
La connexion TCP restera ouverte après l'envoi, afin que le navigateur puisse continuer à envoyer des requêtes via la même connexion. Le maintien des connexions permet d'économiser le temps nécessaire pour établir une nouvelle connexion pour chaque demande et économise également la bande passante du réseau.
(5) Le navigateur reçoit les données répondues par le serveur
Le navigateur accepte le code html et css renvoyés par le serveur et code js pour afficher la page ou enregistrer le fichier de réponse et d'autres opérations
Résumé :
Un processus de requête http complet peut être divisé en Le parties suivantes :
Le navigateur lance une requête -> Analyse le nom de domaine pour obtenir l'adresse IP de la connexion TCP -> Le navigateur envoie une requête HTTP et les informations d'en-tête -> répond avec les informations d'en-tête Et le contenu requis par le navigateur-> Fermez la connexion TCP ou conservez-la->
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!