Cree un servidor web HTTP en Node.js: tutorial con código de 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.
Explicación del código
- La funcionalidad básica de la función require es que lee un JavaGuión 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".
Explicación del código
- 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); });
Resum
- 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.