Créer un serveur Web HTTP dans Node.js: tutoriel complet

Table des matières:

Anonim

Le framework Node.js est principalement utilisé pour créer des applications serveur. Le cadre peut facilement être utilisé pour créer des serveurs Web qui peuvent servir 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 nous pouvons créer une application de serveur Web de base à l'aide de Node js.

Nœud en tant que serveur Web utilisant HTTP

Examinons un exemple de création et d'exécution de notre première application Node js.

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

Explication du code:

  1. La fonctionnalité de base de la fonction require est qu'elle lit un fichier JavaScript, exécute le fichier, puis retourne 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 demande 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 alors 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'affiche lorsque vous exécutez votre code dans le navigateur.

Production:

De la sortie,

  • Vous pouvez clairement voir que si nous naviguons vers 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 sommes en mesure de voir la sortie lors de la navigation 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);

Gérer les 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 faire 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.

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

Dans l'instantané ci-dessus, vous pouvez voir que le module «demande» avec le numéro de version 2.67.0 a été téléchargé et installé.

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

Explication du code:

  1. Nous utilisons le module 'request' qui a été installé lors de la dernière étape. Ce module a les fonctions nécessaires qui peuvent être utilisées pour faire des requêtes GET aux sites Web.
  2. Nous envoyons une demande GET à www.google.com et appelons par la suite 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 demande GET, elle sera enregistrée ici.
    2. Réponse - La réponse aura les en-têtes http qui sont 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, fondamentalement, tout ce que nous obtenons en allant sur www.google.com sera écrit dans 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 en utilisant le 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 faite à l'application.
  • Le module «demande» peut être utilisé pour obtenir des informations à partir de sites Web. Les informations contiendraient l'intégralité du contenu de la page Web demandée sur le site Web concerné.