Créer un serveur Web HTTP dans Node.js : didacticiel avec exemple de code

Le framework Node.js est principalement utilisé pour créer des applications basées sur serveur. Le framework peut facilement être utilisé pour créer des serveurs Web capables de proposer du contenu aux utilisateurs.

Il existe une variété de modules tels que les modules « http » et « request », qui aident à traiter les requêtes liées au serveur dans l'espace du serveur Web. Nous verrons comment créer une application serveur Web de base en utilisant Noeud js.

Nœud en tant que serveur Web utilisant HTTP

Regardons un exemple de la façon de créer et d'exécuter notre première application Node js.

Notre application va créer un module serveur simple qui écoutera sur le port n° 7000. Si une requête est faite via le navigateur sur ce port n°, alors l'application serveur enverra une réponse 'Hello World' au client.

Nœud en tant que serveur Web utilisant HTTP

Explication du code

  1. La fonctionnalité de base de la fonction require est de lire un Javascénario fichier, exécute le fichier, puis procède au renvoi de l'objet d'exportation. Donc dans notre cas, puisque nous voulons utiliser la fonctionnalité du module http, nous utilisons la fonction require pour obtenir les fonctions souhaitées du module http afin qu'il puisse être utilisé dans notre application.
  2. Dans cette ligne de code, nous créons une application serveur basée sur une fonction simple. Cette fonction est appelée chaque fois qu'une requête est faite à notre application serveur.
  3. Lorsqu'une demande est reçue, nous disons d'envoyer une réponse avec un type d'en-tête de « 200 ». Ce numéro est la réponse normale qui est envoyée dans un en-tête http lorsqu'une réponse réussie est envoyée au client.
  4. Dans la réponse elle-même, nous envoyons la chaîne « Hello World ».
  5. Nous utilisons ensuite la fonction server.listen pour que notre application serveur écoute les demandes des clients sur le port n° 7000. Vous pouvez spécifier n'importe quel port disponible ici.

Si la commande est exécutée avec succès, la sortie suivante s'affichera lorsque vous exécutez votre code dans le navigateur.

Sortie

Nœud en tant que serveur Web utilisant HTTP

De la sortie,

  • Vous pouvez clairement voir que si nous parcourons l'URL de localhost sur le port 7000, vous verrez la chaîne « Hello World » affichée dans la page.
  • Parce que dans notre code, nous avons mentionné spécifiquement que le serveur écoute sur le port n° 7000, nous pouvons voir la sortie lorsque nous naviguons vers cette URL.

Voici le code pour votre référence

var http=require('http')
var server=http.createServer((function(request,response)
{
	response.writeHead(200,
	{"Content-Type" : "text/plain"});
	response.end("Hello World\n");
}));
server.listen(7000);

Gestion des requêtes GET dans Node.js

Faire une requête GET pour obtenir les données d'un autre site est relativement très simple dans Node.js. Pour effectuer une requête Get dans le nœud, nous devons d'abord installer le module de requête. Cela peut être fait en exécutant la ligne suivante dans la ligne de commande

demande d'installation npm

La commande ci-dessus demande au gestionnaire de packages Node de télécharger les modules de requête requis et de les installer en conséquence.

Une fois votre module npm installé avec succès, la ligne de commande affichera le nom et la version du module installé : @ .

Gestion des requêtes GET

Dans l'instantané ci-dessus, vous pouvez voir que le module « request » ainsi que le numéro de version 2.67.0 ont été téléchargés et installés.

Voyons maintenant le code qui peut utiliser cette commande 'request'.

Gestion des requêtes GET

Explication du code

  1. Nous utilisons le module 'request' qui a été installé lors de la dernière étape. Ce module possède les fonctions nécessaires qui peuvent être utilisées pour effectuer des requêtes GET vers des sites Web.
  2. Nous envoyons une requête GET à www.google.com et appelons ensuite une fonction lorsqu'une réponse est reçue. Lorsqu'une réponse est reçue, les paramètres (erreur, réponse et corps) auront les valeurs suivantes
    1. Erreur – En cas d'erreur reçue lors de l'utilisation de la requête GET, elle sera enregistrée ici.
    2. Réponse - La réponse aura les en-têtes http qui seront renvoyés dans la réponse.
    3. Corps- Le corps contiendra l'intégralité du contenu de la réponse envoyée par Google.
  3. En cela, nous écrivons simplement le contenu reçu dans le paramètre body dans le fichier console.log. Donc en gros, quoi qu'on obtienne en allant à www.google.com sera écrit dans le fichier console.log.

Voici le code pour votre référence

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

Résumé

  • Le framework Node.js peut être utilisé pour développer des serveurs Web à l'aide du module 'http'. L'application peut être amenée à écouter sur un port particulier et à envoyer une réponse au client chaque fois qu'une demande est adressée à l'application.
  • Le module « demande » peut être utilisé pour obtenir des informations sur des sites Web. Les informations contiendraient l'intégralité du contenu de la page Web demandée sur le site Web concerné.