Connexion
Qu'est-ce qu'il se passe quand je veux faire une requête vers http://example.com ?
Sachant qu'HTTP est basé sur le protocole TCP, on peut facilement déduire qu'il va nous falloir une connexion TCP à la machine "serveur" depuis notre machine "client".
Comment savoir sur quel port est hébergé un serveur HTTP ?
Dans un cas normal, un serveur HTTP est exposé sur le port 80 mais il est possible de configurer ce comportement pour exposer le serveur sur n'importe quel port (8080, par exemple)
Lorsque vous utilisez la notation http://example.com
dans votre navigateur, celui-ci va tout de suite comprendre que le serveur HTTP est situé au port 80.
Cependant, vous pouvez utiliser la notation http://example.com:8080
pour expliciter le fait que le serveur HTTP est situé au port 8080.
D'ailleurs vous pouvez écrire http://example.com:80
et il est très probable que votre navigateur vous renvoie vers http://example.com
.
Il en va de même pour HTTPS qui est, dans un cas normal, exposé sur le port 443. Ainsi http://example.com:443
renvoie vers https://example.com
.
Initialisation d'une connexion TCP à la machine "serveur"
Une fois que nous avons le port où est situé le serveur HTTP, il nous faut l'adresse de la machine "serveur" que l'on doit interroger.
Ici, c'est tout simplement example.com
.
Le DNS se chargera de faire la résolution de l'adresse IP en fonction du nom de domaine.
Bien, connectons nous à cette machine "serveur" maintenant !
On peut exécuter ce script en utilisant node ./index.mjs
et l'on obtient ce résultat sur la console :
On remarque que notre programme n'est pas quitté instantanément.
La raison est que la connexion TCP est encore active et que le programme restera connecté à la machine "serveur" tant que celle-ci ne nous a pas déconnecté. Une fois déconnecté, le programme est quitté comme prévu.
Dernière mise à jour