En aquest tema, aprendrem a crear un servidor HTTP simple utilitzant Node.js. Aquest és un dels primers passos per desenvolupar aplicacions web amb Node.js.

Objectius

  • Entendre com funciona el mòdul http de Node.js.
  • Aprendre a crear un servidor HTTP bàsic.
  • Gestionar peticions i respostes HTTP.

  1. Introducció al Mòdul http

Node.js inclou un mòdul integrat anomenat http que permet crear servidors web i gestionar peticions HTTP. Aquest mòdul proporciona una API senzilla per treballar amb el protocol HTTP.

Importar el Mòdul http

Per utilitzar el mòdul http, primer l'hem d'importar al nostre fitxer de codi:

const http = require('http');

  1. Crear un Servidor HTTP

Passos per Crear un Servidor HTTP

  1. Crear el servidor: Utilitzem el mètode http.createServer() per crear un servidor.
  2. Definir la funció de gestió de peticions: Aquesta funció s'executa cada vegada que el servidor rep una petició.
  3. Escoltar en un port específic: Utilitzem el mètode server.listen() per especificar el port en el qual el servidor escoltarà les peticions.

Exemple de Codi

A continuació, es mostra un exemple de codi per crear un servidor HTTP simple:

const http = require('http');

// Crear el servidor
const server = http.createServer((req, res) => {
  // Establir l'estatus de la resposta i el tipus de contingut
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  
  // Enviar la resposta
  res.end('Hola, món!\n');
});

// Escoltar en el port 3000
const PORT = 3000;
server.listen(PORT, () => {
  console.log(`El servidor està escoltant en el port ${PORT}`);
});

Explicació del Codi

  • Importar el mòdul http: const http = require('http');
  • Crear el servidor: http.createServer((req, res) => { ... })
    • req: Objecte que representa la petició HTTP.
    • res: Objecte que representa la resposta HTTP.
  • Establir l'estatus de la resposta: res.statusCode = 200;
  • Establir el tipus de contingut: res.setHeader('Content-Type', 'text/plain');
  • Enviar la resposta: res.end('Hola, món!\n');
  • Escoltar en el port 3000: server.listen(PORT, () => { ... })

  1. Executar el Servidor

Per executar el servidor, guarda el codi en un fitxer anomenat server.js i executa el següent comandament en la terminal:

node server.js

Si tot funciona correctament, veuràs el següent missatge en la terminal:

El servidor està escoltant en el port 3000

Ara, pots obrir el teu navegador web i anar a http://localhost:3000. Hauries de veure el missatge "Hola, món!".

Exercici Pràctic

Exercici 1: Modificar la Resposta del Servidor

Modifica el codi del servidor per enviar una resposta HTML en lloc de text pla. La resposta hauria de contenir un títol i un paràgraf.

Solució

const http = require('http');

// Crear el servidor
const server = http.createServer((req, res) => {
  // Establir l'estatus de la resposta i el tipus de contingut
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  
  // Enviar la resposta
  res.end('<h1>Hola, món!</h1><p>Aquesta és una resposta HTML.</p>');
});

// Escoltar en el port 3000
const PORT = 3000;
server.listen(PORT, () => {
  console.log(`El servidor està escoltant en el port ${PORT}`);
});

Conclusió

En aquest tema, hem après a crear un servidor HTTP simple utilitzant Node.js. Hem vist com utilitzar el mòdul http per gestionar peticions i respostes, i hem creat un servidor que escolta en un port específic. Aquest és el primer pas per desenvolupar aplicacions web amb Node.js. En els següents temes, explorarem com gestionar peticions i respostes de manera més detallada i com servir fitxers estàtics.

Curs de Node.js

Mòdul 1: Introducció a Node.js

Mòdul 2: Conceptes Bàsics

Mòdul 3: Sistema de Fitxers i I/O

Mòdul 4: HTTP i Servidors Web

Mòdul 5: NPM i Gestió de Paquets

Mòdul 6: Framework Express.js

Mòdul 7: Bases de Dades i ORMs

Mòdul 8: Autenticació i Autorització

Mòdul 9: Proves i Depuració

Mòdul 10: Temes Avançats

Mòdul 11: Desplegament i DevOps

Mòdul 12: Projectes del Món Real

© Copyright 2024. Tots els drets reservats