Diferentes servidores en Node.js

Node.js es un entorno de tiempo de ejecución multiplataforma y de código abierto para ejecutar código JavaScript fuera de un navegador. Debe recordar que NodeJS no es un marco y no es un lenguaje de programación. La mayoría de las personas están confundidas y entienden que es un marco o un lenguaje de programación. A menudo usamos Node.js para crear servicios de back-end como API como aplicación web o aplicación móvil.

Hay muchas formas de crear un servidor e incluso node.js tiene su propio servidor incorporado ‘http’. Algunos de ellos se mencionan a continuación:

1. Creación del servidor usando el módulo ‘ http ‘:

Importar módulo http : importe el módulo http y almacene la instancia HTTP devuelta en una variable.

Sintaxis:

var http = require("http");

Creación y enlace del servidor: cree una instancia de servidor usando el método createServer() y vincúlelo a algún puerto usando el método listen() .

Sintaxis:

const server = http.createServer().listen(port)

Parámetro: este método (listen()) acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:

  • puerto < Número >: los puertos están en el rango de 1024 a 65535 y contienen puertos registrados y dinámicos.

El siguiente ejemplo ilustra el uso del módulo http en Node.js.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to create 
// http server 
  
// Using require to access http module 
const http = require("http");
  
// Port number
const PORT = process.env.PORT || 2020;
  
// Creating server
const server = http.createServer(
   // Server listening on port 2020
   function (req, res) {
      res.write('Hello geeksforgeeks!'); 
      // Write a response to the client
      res.end(); 
   }
)
.listen(PORT, error => {
  // Prints in console
  console.log(`Server listening on port ${PORT}`)
});

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Servidor escuchando en el puerto 2020

Ahora escriba http://127.0.0.1:2020/ O http://localhost:2020 en un navegador web para ver el resultado.

2. Crear servidor usando el módulo ‘ https ‘:

Nota: Para crear un servidor HTTPS , necesitamos la clave y el certificado SSL , y el módulo https Node.js incorporado.

Importar módulo https: importe el módulo https y almacene la instancia HTTP devuelta en una variable.

Sintaxis:

var https = require("https");

Creación y enlace del servidor: cree una instancia de servidor usando el método createServer() y vincúlelo a algún puerto usando el método listen().

Sintaxis:

const server = https.createServer(options, 
            onResponseCallback).listen(port)

Parámetro: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • options < key, certi > : Incluye clave y certificado pasado.
  • onResponseCallback < Callback >: es una función de devolución de llamada que se llama en respuesta a createServer.
  • puerto < Número > : los puertos están en el rango de 1024 a 65535 y contienen puertos registrados y dinámicos.

El siguiente ejemplo ilustra el uso del módulo https en Node.js.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to create 
// https server 
  
// Using require to access https module 
var https = require('https');
var fs = require('fs');
const port= 8000;
  
var options = {
  
  // Note: We require SSL and certificate
  // to create https servers  
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};
  
https.createServer(options, function (req, res) {
  
  // Returns the status
  res.writeHead(200);
  res.end("Hello GeeksforGeeks");
}).listen(port);

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Hola GeeksforGeeks

Ahora que el servidor está configurado e iniciado, podemos obtener el archivo de la siguiente manera:

curl -k https://localhost:8000

Ahora escriba https://127.0.0.1:8000/ O https://localhost:8000 en un navegador web para ver el resultado.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to get the response  
// from https server 
  
// Using require to access http module 
const https = require('https');
  
// https://www.google.com/
https.get('https://www.geeksforgeeks.org/', (res) => {
  
  // Printing status code
  console.log('statusCode:', res.statusCode);
  
  // Printing headers
  console.log('headers:', res.headers);
  
}).on('error', (e) => {
  console.log(e);
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

>> código de estado: 200

>> encabezados: { servidor: ‘Apache’, ……… ‘tiempo de servidor’: ‘cdn-cache; desc=HIT, borde; dur=1’}

3. Crear un servidor usando el módulo ‘Express’: para usar el módulo express, necesitamos instalar NPM (Node Package Manager) y los siguientes módulos ( en cmd ).

// Creates package.json file
>> npm init

// Installs express module
>> npm install express --save   OR
>> npm i express -s 

Importar módulo express: importe el módulo express y almacene la instancia devuelta en una variable.

Sintaxis:

var express = require("express");

Creación del servidor: la sintaxis anterior llama a la función «express()» y crea una nueva aplicación express que se almacena dentro de la variable de la aplicación.

Sintaxis:

const app = express();   
// OR by Importing and creating express application
var express = require("express")(); 

Envío y escucha de la respuesta: Comunica la solicitud y la respuesta con el cliente y el servidor. Requiere PUERTO < número > e IP < número > para comunicarse. 

app.listen(PORT, IP, Callback);

Parámetro: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación.

  • PUERTO < Número > : Los puertos son los puntos finales de comunicación que ayudan a comunicarse con el cliente y el servidor.
  • IP <Número> : las direcciones IP representan la dirección IPv4 o IPv6 de un host o un dispositivo.
  • Callback < Función > : Acepta una función.

El siguiente ejemplo ilustra el módulo Express.js en Node.js.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to create server 
// with help of Express module
  
// Importing express 
const express = require('express');
  
// Creating new express app 
const app = express();
  
// PORT configuration
const PORT = process.env.PORT || 2020;
  
// IP configuration
const IP = process.env.IP || 2021;
  
// Create a route for the app
app.get('/', (req, res) => {
  res.send('Hello Vikas_g from geeksforgeeks!');
});
  
// Create a route for the app
app.get('*', (req, res) => {
  res.send('OOPS!! The link is broken...');
});
  
// Server listening to requests
app.listen(PORT, IP, () => {
  console.log(`The Server is running at: 
          http://localhost:${PORT}/`);
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

El servidor se está ejecutando en: http://localhost:2020

Ahora escriba http://127.0.0.1:2020/ O http://localhost:2020/ en un navegador web para ver el resultado.

4. Crear un servidor usando el módulo ‘Hapi’: para usar el módulo hapi , necesitamos instalar NPM (Node Package Manager) y los siguientes módulos (en cmd).

// creates package.json file
>> npm init 

// Installs hapi module
>> npm install @hapi/hapi --save 

Importar módulo hapi: importe el módulo hapi y almacene la instancia devuelta en una variable.

Sintaxis:

var Hapi = require("@hapi/hapi");

Creando Servidor: La sintaxis anterior importa el módulo “express()” y ahora crea un servidor. Comunica la solicitud y la respuesta con el cliente y el servidor. Requiere PORT <number> y host <string> para comunicarse.

Sintaxis:

const server = Hapi.server({port: 2020, host: 'localhost'});

Parámetro: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación.

  • PUERTO < Número > : Los puertos son los puntos finales de comunicación que ayudan a comunicarse con el cliente y el servidor.
  • HOST < String > : Es el nombre del host.

El siguiente ejemplo ilustra el módulo Hapi en Node.js.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to create server
// using hapi module
  
// Importing hapi module
const Hapi = require('@hapi/hapi');
  
    // Creating Server
    const server = Hapi.server({
        port: 2020,
        host: 'localhost'
    });
  
    // Creating route
    server.route({
        method: 'GET',
        path: '/',
        handler: (request, hnd) => {
            return 'Hello GeeksForGeeks!';
        }
    });
  
const start = async () => {
  await server.start();
    console.log('Server running at', server.info.uri);
};
  
process.on('unhandledRejection', (err) => {
    console.log(err);
    process.exit(1);
});
  
start();

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Server running at: http://localhost:2020

Ahora escriba http://localhost:2020/ en un navegador web para ver el resultado.

5. Creación del servidor usando el módulo ‘Koa’: Para usar el módulo Koa, necesitamos instalar el NPM (Node Package Manager) y los siguientes módulos (en cmd).

// Creates package.json file
>> npm init 

// Installs express module
>> npm install koa --save  OR
>> npm i koa -s 

Importar módulo express: importe el módulo koa y almacene la instancia devuelta en una variable.

Sintaxis:

// Importing koa module
var koa = require("koa"); 

Creación del servidor: la sintaxis anterior importa el módulo koa y crea una nueva aplicación koa que se almacena dentro de la variable de la aplicación.

Sintaxis:

// Creating koa application
const app = new koa();  

Envío y escucha de la respuesta: Comunica la solicitud y la respuesta con el cliente y el servidor. Requiere PUERTO < número > e IP < número > para comunicarse.

app.listen(PORT, IP, Callback);

Parámetro: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación.

  • PUERTO < Número > : Los puertos son los puntos finales de comunicación que ayudan a comunicarse con el cliente y el servidor.
  • IP < Número > : las direcciones IP representan la dirección IPv4 o IPv6 de un host o un dispositivo.
  • Callback < Función > : Acepta una función.

El siguiente ejemplo ilustra el módulo Koa en Node.js.

Ejemplo: Nombre de archivo: index.js

javascript

// Node.js program to create server 
// with help of Koa module
  
// Importing koa 
const koa = require('koa');
  
// Creating new koa app
const app = new koa();
  
// PORT configuration
const PORT = process.env.PORT || 2020;
  
// IP configuration
const IP = process.env.IP || 2021;
  
app.use(function *(){
  this.body = "Hello GeeksForGeeks!";
});
  
// Server listening to requests
app.listen(PORT, IP, ()=>{
    console.log("Server started at port", PORT);
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

El servidor se está ejecutando en el puerto 2020

Ahora escriba http://127.0.0.1:2020/ O http://localhost:2020/ en un navegador web para ver el resultado.

Publicación traducida automáticamente

Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *