Crear un servidor web HTTP en Node.js: Tutorial con Code Ejemplo
El marco Node.js se utiliza 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 ayudan a procesar 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 Nodo 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 nรบmero 7000. Si se realiza una solicitud a travรฉs del navegador en este puerto nรบmero, la aplicaciรณn del servidor enviarรก una respuesta "Hola mundo" al cliente.
Code Explicaciรณn
- La funcionalidad bรกsica de la funciรณn require es que lee un JavaScript archivo, 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 pueda usarse en nuestra aplicaciรณn.
- 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.
- Cuando se recibe una solicitud, decimos 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.
- En la respuesta misma, enviamos la cadena "Hola mundo".
- Luego estamos usando la funciรณn server.listen para hacer que nuestra aplicaciรณn de servidor escuche las solicitudes de los clientes en el puerto nรบmero 7000. Puede especificar cualquier puerto disponible aquรญ.
Si el comando se ejecuta correctamente, se mostrarรก la siguiente salida cuando ejecute su cรณdigo en el navegador.
Salida
Desde la salida,
- Puedes ver claramente que si navegamos a la URL de localhost en el puerto 7000, verรกs la cadena 'Hola Mundo' mostrada en la pรกgina.
- Debido a que en nuestro cรณdigo hemos mencionado especรญficamente que el servidor escuche en el puerto nรบmero 7000, podemos ver el resultado 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
Realizar una solicitud GET para obtener los datos de otro sitio es relativamente muy sencillo 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 comandos
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 utilizar este comando de "solicitud".
Code Explicaciรณn
- 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.
- Realizamos una solicitud GET a www.google.com y, posteriormente, llamamos a una funciรณn cuando recibimos una respuesta. Cuando se recibe una respuesta, los parรกmetros (error, respuesta y cuerpo) tendrรกn los siguientes valores
- Error: en caso de que se reciba algรบn error al utilizar la solicitud GET, se registrarรก aquรญ.
- Respuesta: la respuesta tendrรก los encabezados http que se devuelven en la respuesta.
- Cuerpo- El cuerpo contendrรก todo el contenido de la respuesta enviada por Google.
- En esto, simplemente escribimos el contenido recibido en el parรกmetro del cuerpo en el archivo console.log. Bรกsicamente, todo lo que consigamos 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 particular y envรญe una respuesta al cliente cada vez que se realiza una solicitud a la aplicaciรณn.
- El mรณdulo "solicitud" se puede utilizar para obtener informaciรณn de sitios web. La informaciรณn contendrรก todo el contenido de la pรกgina web solicitada desde el sitio web correspondiente.




