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
httpde Node.js. - Aprendre a crear un servidor HTTP bàsic.
- Gestionar peticions i respostes HTTP.
- Introducció al Mòdul
http
httpNode.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:
- Crear un Servidor HTTP
Passos per Crear un Servidor HTTP
- Crear el servidor: Utilitzem el mètode
http.createServer()per crear un servidor. - Definir la funció de gestió de peticions: Aquesta funció s'executa cada vegada que el servidor rep una petició.
- 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, () => { ... })
- 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:
Si tot funciona correctament, veuràs el següent missatge en la terminal:
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
- Introducció a Express.js
- Configuració d'una Aplicació Express
- Middleware
- Routing en Express
- Gestió d'Errors
Mòdul 7: Bases de Dades i ORMs
- Introducció a les Bases de Dades
- Utilitzar MongoDB amb Mongoose
- Utilitzar Bases de Dades SQL amb Sequelize
- Operacions CRUD
Mòdul 8: Autenticació i Autorització
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb Mocha i Chai
- Proves d'Integració
- Depuració d'Aplicacions Node.js
Mòdul 10: Temes Avançats
Mòdul 11: Desplegament i DevOps
- Variables d'Entorn
- Utilitzar PM2 per a la Gestió de Processos
- Desplegar a Heroku
- Integració i Desplegament Continu
