3. Envoi de la requête et traitement de la réponse▲
3-A. Envoi de la requête▲
Une fois la requête construite, le navigateur se connecte au serveur et envoie la requête.
3-B. Traitement de la réponse▲
Le premier élément de la réponse qui est reçue est le code status et les en-têtes de la réponse.
Dans tous les cas, le navigateur doit rester conforme au protocole HTTP et signaler tout code d'erreur (4xx et 5xx).
Pour les en-têtes, certaines peuvent entraîner quelques modifications du comportement des navigateurs.
Les en-têtes Content-type et Content-length▲
Ces en-têtes indiquent le type de ressource renvoyée. Dans le cas d'un type MIME non reconnu ou absent, c'est le navigateur qui choisit la valeur par défaut… En général, c'est plain/text qui est utilisé.
Quand Content-length est spécifié, alors la taille du corps de la réponse doit correspondre. Tout ce qui est au-delà doit être ignoré par le navigateur.
L'en-tête Set-Cookie▲
Cet en-tête permet au serveur de spécifier des cookies à stocker. Si sa configuration l'autorise, alors le navigateur doit mettre ses cookies à jour à la réception de cet en-tête.
Le corps de la réponse▲
Le navigateur récupère le corps de la réponse, si nécessaire, le parse, et le charge comme il convient (selon que ce soit une page web, une image, une feuille de style, etc.).
Dans le cas d'une page HTML (par exemple), chaque document annexe donnera lieu à un nouvel échange HTTP avec le serveur.
Certains types de données, tels que plain/text ou application/octet-stream, permettent une lecture continue des données. Ainsi, on peut se servir du protocole HTTP pour visualiser en temps réel (ou presque) la trace d'une application (par exemple). Dans ces cas, le navigateur peut éventuellement afficher le corps de la réponse au fur et à mesure de sa réception plutôt que d'attendre la fin de la réception…