Creare un server Web HTTP in Node.js: tutorial con esempio di codice

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

Spiegazione del codice

  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,

  • Puoi vedere chiaramente che se cerchiamo l'URL di 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

Spiegazione del codice

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

Sommario

  • 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.