🥇 Mi primera aplicación web.

Node incorpora un parser de http (que procesa llamadas y respuestas usando http). Esta libreria forma parte del core, es decir que no requiere ser instalada como un paquete adicional. Es esta, la librearía que vamos a utilizar para crear nuestro primer servidor web.

  1. Vamos a mandar llamar el módulo http.

    var http = require('http');
    
  2. Ahora necesitamos vamos a llamar a la función createServer.

    var miServidor = http.createServer(function(solicitud,respuesta) {
    });
    

    La función createServer require que le proporcionemos una función anónima como callback, esta función anónima recibe dos argumentos, solicitud y respuesta. La solicitud es el objeto que representa la petición (request) que se hace al servidor, mientras que la respuesta (response) se refiere a la respuesta del servidor al cliente.

🍿 Definiendo las cabeceras (headers).

Cuando enviemos un request, vamos a regresar un response con el código 200, en HTTP el número 200 representa una conección exitosa al servidor, que es lo que queremos notificar al cliente. También vamos a notificarle al cliente que el tipo de contenido que vamos a desplegar es texto plano (text/plain).

respuesta.writeHead(200, { 'Content-Type' : 'text/plain' });

La funcion writeHead genera las cabeceras del response, como primer argumento recibe el código del estados de la petición, y como segundo un objeto con las propiedades de la cabecera.

🍿 Imprimiento el cuerpo del mensaje.

Ahora vamos a enviar la otra parte de la respuesta que es el contenido del texto plano, para esto podemos utilizar directamente end que cierra la respuesta y la envia al cliente.

respuesta.end('Hola mundo!');

🍿 Inicializando el servidor.

Ya que hemos definido el callback con las caberas y el texto hola mundo, vamos a inicializar el servidor. Esto fuera del callback.

miServidor.listen(1111,'127.0.0.1');

La función listen (escuchar), toma dos valores como argumentos.

🍿 Iniciando nuestro servidor.

  1. Suponiendo que tu archivo se llama app.js, ejecutalo en la terminal con node.

    $ node app.js
    

    Este es un proceso que se queda en ejecución a la espera de las peticiones (requests).

  2. Vamos a abrir la direccion 127.0.0.1:1111 en nuestro navegador (el que desees) y se desplegará el mensaje Hola mundo!.

🍿 Realizando cambios a la aplicación.

  1. Intenta por ultimo realizar un cambio en el mensaje Hola mundo!, cambia el mensaje por, Todo va bien!.

    respuesta.end('Todo va bien!');
    
  2. Ahora refresca la ventana del navegador… Los cambios no se ven reflejados.

Cuando node ejecuta un bloque de código, convierte ese código en código máquina, por ende si modificamos el archivo este cambio no se ve reflejado a menos que cerremos la aplicación en la terminal y la volvamos a abrir. Este comportamiento limita bastante al momento de trabajar pues se pierde mucho tiempo terminar e iniciar nuevamente un proceso, veremos como lidiar con lo anterior en los próximos capítulos.

Comunicación cliente servidor. De texto plano a html.
comments powered by Disqus