Crear servidor web HTTP en Node.js: tutorial completo

Tabla de contenido:

Anonim

El marco Node.js se usa principalmente para crear aplicaciones basadas en servidor. El marco se puede utilizar fácilmente para crear servidores web que puedan ofrecer contenido a los usuarios.

Hay una variedad de módulos, como el módulo "http" y "solicitud", que ayuda a procesar las solicitudes relacionadas con el servidor en el espacio del servidor web. Veremos cómo podemos crear una aplicación de servidor web básica usando Node js.

Nodo como servidor web usando HTTP

Veamos un ejemplo de cómo crear y ejecutar nuestra primera aplicación Node js.

Nuestra aplicación creará un módulo de servidor simple que escuchará en el puerto no 7000. Si se realiza una solicitud a través del navegador en este puerto no, la aplicación del servidor enviará una respuesta de 'Hola mundo' al cliente.

Explicación del código:

  1. La funcionalidad básica de la función require es que lee un archivo JavaScript, ejecuta el archivo y luego procede a devolver el objeto de exportación. Entonces, en nuestro caso, dado que queremos usar la funcionalidad del módulo http, usamos la función require para obtener las funciones deseadas del módulo http para que se pueda usar en nuestra aplicación.
  2. En esta línea de código, estamos creando una aplicación de servidor que se basa en una función simple. Esta función se llama cada vez que se realiza una solicitud a nuestra aplicación de servidor.
  3. Cuando se recibe una solicitud, estamos diciendo que se envíe una respuesta con un tipo de encabezado de '200'. Este número es la respuesta normal que se envía en un encabezado http cuando se envía una respuesta exitosa al cliente.
  4. En la respuesta en sí, estamos enviando la cadena 'Hola mundo'.
  5. Entonces usamos la función server.listen para hacer que nuestra aplicación de servidor escuche las solicitudes del cliente en el puerto no 7000. Puede especificar cualquier puerto disponible aquí.

Si el comando se ejecuta con éxito, la siguiente salida se mostrará cuando ejecute su código en el navegador.

Producción:

De la salida,

  • Puede ver claramente que si navegamos a la URL de localhost en el puerto 7000, verá la cadena 'Hola mundo' en la página.
  • Debido a que en nuestro código hemos mencionado específicamente que el servidor escuche en el puerto no 7000, podemos ver la salida cuando navegamos a esta URL.

Aquí está el código para su referencia.

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);

Manejo de solicitudes GET en Node.js

Hacer una solicitud GET para obtener los datos de otro sitio es relativamente muy simple en Node.js. Para realizar una solicitud Get en el nodo, primero debemos tener instalado el módulo de solicitud. Esto se puede hacer ejecutando la siguiente línea en la línea de comando

solicitud de instalación npm

El comando anterior solicita al administrador de paquetes de Node que descargue los módulos de solicitud necesarios y los instale en consecuencia.

Cuando su módulo npm se haya instalado correctamente, la línea de comando mostrará el nombre y la versión del módulo instalado: @ .

En la instantánea anterior, puede ver que se descargó e instaló el módulo 'solicitud' junto con el número de versión 2.67.0.

Ahora veamos el código que puede hacer uso de este comando de 'solicitud'.

Explicación del código:

  1. Estamos utilizando el módulo 'solicitud' que se instaló en el último paso. Este módulo tiene las funciones necesarias que se pueden utilizar para realizar solicitudes GET a sitios web.
  2. Hacemos una solicitud GET a www.google.com y posteriormente llamamos a una función cuando se recibe una respuesta. Cuando se recibe una respuesta, los parámetros (error, respuesta y cuerpo) tendrán los siguientes valores
    1. Error: en caso de que se reciba algún error al utilizar la solicitud GET, se registrará aquí.
    2. Respuesta: la respuesta tendrá los encabezados http que se devuelven en la respuesta.
    3. Cuerpo: el cuerpo contendrá todo el contenido de la respuesta enviada por Google.
  3. En esto, solo estamos escribiendo el contenido recibido en el parámetro body en el archivo console.log. Básicamente, todo lo que obtengamos al ir a www.google.com se escribirá en console.log.

Aquí está el código para su referencia.

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

Resumen

  • El marco Node.js se puede utilizar para desarrollar servidores web utilizando el módulo 'http'. Se puede hacer que la aplicación escuche en un puerto en particular y envíe una respuesta al cliente cada vez que se realice una solicitud a la aplicación.
  • El módulo de 'solicitud' se puede utilizar para obtener información de sitios web. La información contendría todo el contenido de la página web solicitada en el sitio web correspondiente.