Creare un server web HTTP in Node.js: tutorial con Code Esempio

Il framework Node.js viene utilizzato principalmente per creare applicazioni basate su server. Il framework puรฒ essere facilmente utilizzato per creare server Web in grado di fornire contenuti agli utenti.

Esistono numerosi moduli come il modulo โ€œhttpโ€ e โ€œrichiestaโ€, che aiuta a elaborare le richieste relative al server nello spazio del server web. Daremo un'occhiata a come possiamo creare un'applicazione server web di base utilizzando Nodo js.

Nodo come server Web utilizzando HTTP

Diamo un'occhiata a un esempio di come creare ed eseguire la nostra prima applicazione Node js.

La nostra applicazione creerร  un semplice modulo server che resterร  in ascolto sulla porta n. 7000. Se viene effettuata una richiesta tramite il browser su questa porta n., l'applicazione server invierร  una risposta "Hello World" al client.

Nodo come server Web utilizzando HTTP

Code Spiegazione

  1. La funzionalitร  di base della funzione require รจ che legge a JavaCopione file, esegue il file e quindi procede a restituire l'oggetto di esportazione. Quindi nel nostro caso, poichรฉ vogliamo utilizzare la funzionalitร  del modulo http, utilizziamo la funzione require per ottenere le funzioni desiderate dal modulo http in modo che possa essere utilizzato nella nostra applicazione.
  2. In questa riga di codice stiamo creando un'applicazione server basata su una semplice funzione. Questa funzione viene richiamata ogni volta che viene effettuata una richiesta alla nostra applicazione server.
  3. Quando viene ricevuta una richiesta, stiamo dicendo di inviare una risposta con un tipo di intestazione "200". Questo numero รจ la risposta normale che viene inviata in un'intestazione http quando viene inviata una risposta positiva al client.
  4. Nella risposta stessa, inviamo la stringa "Hello World".
  5. Utilizzeremo quindi la funzione server.listen per fare in modo che la nostra applicazione server ascolti le richieste del client sulla porta n. 7000. Puoi specificare qualsiasi porta disponibile qui.

Se il comando viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Uscita

Nodo come server Web utilizzando HTTP

Dall'uscita,

  • Si puรฒ chiaramente vedere che se navighiamo verso URL Accedendo a localhost sulla porta 7000, vedrai la stringa 'Hello World' visualizzata nella pagina.
  • Poichรฉ nel nostro codice abbiamo menzionato specificamente che il server รจ in ascolto sulla porta n. 7000, siamo in grado di visualizzare l'output quando navighiamo verso questo URL.

Ecco il codice come riferimento

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);

Gestione delle richieste GET in Node.js

Effettuare una richiesta GET per ottenere i dati da un altro sito รจ relativamente molto semplice in Node.js. Per effettuare una richiesta Get nel nodo, dobbiamo prima installare il modulo request. Questo puรฒ essere fatto eseguendo la seguente riga nella riga di comando

richiesta di installazione npm

Il comando precedente richiede al gestore pacchetti Node di scaricare i moduli di richiesta richiesti e installarli di conseguenza.

Una volta installato correttamente il modulo npm, la riga di comando mostrerร  il nome e la versione del modulo installato: @ .

Gestione delle richieste GET

Nell'istantanea sopra, puoi vedere che il modulo 'richiesta' insieme al numero di versione 2.67.0 รจ stato scaricato e installato.

Vediamo ora il codice che puรฒ utilizzare questo comando 'request'.

Gestione delle richieste GET

Code Spiegazione

  1. Stiamo utilizzando il modulo "richiesta" che รจ stato installato nell'ultimo passaggio. Questo modulo ha le funzioni necessarie che possono essere utilizzate per effettuare richieste GET ai siti web.
  2. Stiamo effettuando una richiesta GET a www.google.com e successivamente chiamiamo una funzione quando viene ricevuta una risposta. Quando viene ricevuta una risposta, i parametri (errore, risposta e corpo) avranno i seguenti valori
    1. Errore: nel caso in cui venga ricevuto un errore durante l'utilizzo della richiesta GET, verrร  registrato qui.
    2. Risposta: la risposta avrร  le intestazioni http che verranno restituite nella risposta.
    3. Corpo - Il corpo conterrร  l'intero contenuto della risposta inviata da Google.
  3. In questo caso stiamo semplicemente scrivendo il contenuto ricevuto nel parametro body nel file console.log. Quindi, in pratica, qualunque cosa otterremo andando www.google.com verrร  scritto nel file console.log.

Ecco il codice come riferimento

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

Sintesi

  • Il framework Node.js puรฒ essere utilizzato per sviluppare server web utilizzando il modulo "http". รˆ possibile fare in modo che l'applicazione sia in ascolto su una porta particolare e invii una risposta al client ogni volta che viene effettuata una richiesta all'applicazione.
  • Il modulo 'richiesta' puรฒ essere utilizzato per ottenere informazioni da siti web. Le informazioni conterrebbero l'intero contenuto della pagina web richiesta dal relativo sito web.

Riassumi questo post con: