Le PROTOCOLE HTTP
- URL et analyse d'une requête HTTP
L’URL aussi appelée adresse web, est une chaîne de caractères qui permet d'identifier une ressource Web par son emplacement et de préciser le protocole pour la récupérer (http:// est un protocole d'échange de données entre un serveur web et un client web).
Lorsque vous saisissez http://localhost/index.html
http:// est le protocole, localhost le nom du serveur et index.html est la ressource demandée sur ce serveur.
Un serveur a plusieurs adresses IP : au moins une adresse IP publique pour être reconnu par les autres machines et une adresse IP privée dite de rebouclage pour s'envoyer ( à lui même) des requêtes, cette seconde adresse est l'adresse IP 127.0.0.1 alias localhost:
http://localhost est l'équivalent de http://127.0.0.1
Exercice 3.1
Lancer la machine virtuelle linux mint
Saisir l'URL http://127.0.0.1 sur le navigateur Firefox de la machine virtuelle, le serveur web de la machine a transmis sa page index.html. 
Afficher les outils d'analyse réseau avec le menu en haut à droite ( encadré en rouge ci-dessous dans l'image de gauche) puis Développement web puis Réseau:

Saisir l'URL http://127.0.0.1/index.html et observer l'échange:

La colonne Etat est le résultat de l’échange qui est indiqué par un numéro. Rechercher la signification des numéros obtenus ici.
La colonne Fichier indique tous les fichiers qui ont été chargé par le navigateur ( Attention: vous n'obtiendrez pas ce qui sur l'image ci-dessus, faire vraiment le test) . Combien de fichiers votre navigateur a reçu ?
Lorsque l'on clique sur une ligne, elle devient bleu plus foncée et on peut voir les détails de l'échange, cliquer sur la première ligne et dérouler la flèche à coté du mot GET colonne de droite:

GET est une demande du client à un serveur, Scheme est le protocole choisi, Host est le nom du serveur ( sur l'image de gauche vous avez l'IP parce que l'on a saisi http://127.0.0.1, sur l'image de droite vous avez une demande classique avec l'URL), Filename: / est la racine du site, c'est un alias ( un autre nom) pour le dossier /var/www/html qui contient le site web sur le serveur, /index.html est la page index.html située à la racine du site ( dans le dossier /var/www/html ):

On appelle un socket l'association adresse IP : port TCP, sur l'image ci-dessous vous voyez 127.0.0.1:80 ( un port TCP est un numéro qui identifie un logiciel qui communique sur un réseau, 80 est le numéro réservé au serveur web ).

Ici la requête GET demande au logiciel de numéro 80 sur le serveur 127.0.0.1, la page index.html.
La réponse du serveur ( ci-dessous) est 200 OK , il utilise la version 1.1 du protocole http, c'est un serveur web Apache/2.4.51.

Exercice 3.2
Il est possible de passer des arguments dans l'URL:
Saisir dans le navigateur l'URL suivante : https://www.qwant.com/?l=fr
Remplacer ensuite la demande par cette URL: https://www.qwant.com/?l=en
Comment est transmise la différence la demande de différence de langue?
Donner le socket utilisé ( IP et port utilisé). Rechercher la signification du numéro de port utilisé
Quelle est la version du protocole http utilisé?
Créé avec HelpNDoc Personal Edition: Générateur de documentation complet