Lag HTTP Web Server i Node.js: Opplæring med kodeeksempel
Node.js-rammeverket brukes mest til å lage serverbaserte applikasjoner. Rammeverket kan enkelt brukes til å lage webservere som kan servere innhold til brukere.
Det finnes en rekke moduler som "http" og "request"-modulen, som hjelper til med å behandle serverrelaterte forespørsler i webserverplassen. Vi skal se på hvordan vi kan lage en grunnleggende webserverapplikasjon ved hjelp av Node js.
Node som en webserver som bruker HTTP
La oss se på et eksempel på hvordan du oppretter og kjører vår første Node js-applikasjon.
Vår applikasjon kommer til å lage en enkel servermodul som vil lytte på port nr. 7000. Hvis en forespørsel gjøres gjennom nettleseren på dette portnummeret, vil serverapplikasjonen sende et 'Hello World'-svar til klienten.
Kode Forklaring
- Den grunnleggende funksjonaliteten til require-funksjonen er at den leser en JavaScript fil, kjører filen og fortsetter deretter med å returnere eksportobjektet. Så i vårt tilfelle, siden vi ønsker å bruke funksjonaliteten til http-modulen, bruker vi require-funksjonen for å få de ønskede funksjonene fra http-modulen slik at den kan brukes i vår applikasjon.
- I denne kodelinjen lager vi en serverapplikasjon som er basert på en enkel funksjon. Denne funksjonen kalles hver gang en forespørsel sendes til vår serverapplikasjon.
- Når en forespørsel mottas, sier vi å sende et svar med en overskriftstype på "200". Dette nummeret er det normale svaret som sendes i en http-header når et vellykket svar sendes til klienten.
- I selve svaret sender vi strengen "Hello World."
- Vi bruker da server.listen-funksjonen for å få serverapplikasjonen vår til å lytte til klientforespørsler på port nr 7000. Du kan spesifisere hvilken som helst tilgjengelig port her.
Hvis kommandoen utføres vellykket, vil følgende utdata vises når du kjører koden i nettleseren.
Produksjon
Fra utgangen,
- Du kan tydelig se at hvis vi blar til URL-en til localhost på port 7000, vil du se strengen 'Hello World' vist på siden.
- Fordi vi i koden vår har nevnt spesifikt at serveren skal lytte på port nr. 7000, kan vi se utdataene når vi blar til denne url-en.
Her er koden som referanse
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);
Håndtering av GET-forespørsler i Node.js
Å lage en GET-forespørsel for å få dataene fra et annet nettsted er relativt enkelt i Node.js. For å lage en Get-forespørsel i noden, må vi først ha forespørselsmodulen installert. Dette kan gjøres ved å utføre følgende linje på kommandolinjen
npm installasjonsforespørsel
Kommandoen ovenfor ber Node-pakkebehandleren om å laste ned de nødvendige forespørselsmodulene og installere dem deretter.
Når npm-modulen din har blitt installert, vil kommandolinjen vise navnet og versjonen av den installerte modulen: @ .
I øyeblikksbildet ovenfor kan du se at 'forespørsel'-modulen sammen med versjonsnummer 2.67.0 ble lastet ned og installert.
La oss nå se koden som kan bruke denne 'request'-kommandoen.
Kode Forklaring
- Vi bruker "request"-modulen som ble installert i siste trinn. Denne modulen har de nødvendige funksjonene som kan brukes til å lage GET-forespørsler til nettsider.
- Vi sender en GET-forespørsel til www.google.com og kaller deretter opp en funksjon når et svar mottas. Når et svar mottas, vil parametrene (feil, svar og brødtekst) ha følgende verdier
- Feil – I tilfelle det er en feil mottatt når du bruker GET-forespørselen, vil den bli registrert her.
- Svar- Svaret vil ha http-hodene som sendes tilbake i svaret.
- Brødtekst- Brødteksten vil inneholde hele innholdet i svaret sendt av Google.
- I dette skriver vi bare innholdet mottatt i body-parameteren til console.log-filen. Så i utgangspunktet, uansett hva vi får ved å gå til www.google.com vil bli skrevet til console.log.
Her er koden som referanse
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Oppsummering
- Node.js-rammeverket kan brukes til å utvikle webservere ved å bruke 'http'-modulen. Applikasjonen kan gjøres for å lytte på en bestemt port og sende et svar til klienten hver gang det sendes en forespørsel til applikasjonen.
- "Request"-modulen kan brukes til å hente informasjon fra nettsider. Informasjonen vil inneholde hele innholdet på nettsiden forespurt fra det relevante nettstedet.