Node.js - 3.2 Comment fonctionne le web : client, serveur et HTTP
Avant de créer un serveur avec Node.js, il faut comprendre le trajet d'une page web. Cette leçon reprend les étapes principales, depuis l'adresse saisie dans le navigateur jusqu'à la réponse reçue. Elle présente aussi le rôle de HTTP et de HTTPS.
Du navigateur au serveur
Lorsque vous saisissez une adresse dans votre navigateur, celui-ci interroge un serveur de noms de domaine. Ce serveur traduit le nom lisible, par exemple wewantcode.com, en adresse IP, qui identifie le serveur sur Internet.
Le navigateur envoie ensuite une requête à cette adresse IP. Cette requête est le message qui demande une page ou transmet des données.
Le rôle du code côté serveur
Le serveur exécute du code qui traite la requête. Ce code peut valider les données saisies, communiquer avec une base de données et préparer une réponse. La vidéo précise que d'autres langages peuvent servir à cela, comme PHP, ASP.NET ou Ruby. Ce cours utilise Node.js.
La réponse peut être du HTML, mais aussi un fichier, du JSON ou du XML. Elle contient aussi des en-têtes, qui décrivent la requête ou la réponse.
HTTP et HTTPS
Le protocole HTTP définit les règles d'une requête valide et la façon dont elle est transférée entre le navigateur et le serveur. HTTPS suit les mêmes règles, mais les données sont chiffrées grâce au protocole SSL. Une personne qui intercepte la connexion ne peut donc pas lire les données.
Dans ce cours, on utilise HTTP en local. Le chiffrement HTTPS sera présenté en fin de cours, pour une mise en production.
En résumé
Le navigateur envoie une requête à l'adresse IP du serveur, après la recherche du nom de domaine. Le serveur, écrit ici avec Node.js, prépare une réponse. HTTP définit les règles de cet échange, et HTTPS ajoute le chiffrement. Les leçons suivantes passent à la création du serveur.
Points clés
- Un nom de domaine est traduit en adresse IP par un serveur de noms.
- Le navigateur envoie une requête au serveur.
- Le code du serveur traite la requête et prépare une réponse.
- HTTP définit les règles de la communication entre client et serveur.
- HTTPS ajoute le chiffrement SSL aux données transmises.
Questions fréquentes
Qu'est-ce qu'une requête ?
C'est le message envoyé par le navigateur au serveur, pour demander une page ou transmettre un formulaire.
Quelle différence entre HTTP et HTTPS ?
Les deux suivent les mêmes règles. HTTPS chiffre les données grâce à SSL, ce qui empêche de les lire pendant le transfert.
Faut-il utiliser HTTPS en développement local ?
La vidéo utilise HTTP en local, car le code est testé sur la machine. HTTPS est présenté pour la mise en production.