Opprett HTTP-webserver i Node.js: Komplett veiledning

Innholdsfortegnelse:

Anonim

Node.js-rammeverket brukes mest til å lage serverbaserte applikasjoner. Rammeverket kan enkelt brukes til å lage webservere som kan servere innhold til brukerne.

Det finnes en rekke moduler som "http" og "forespørsel" -modulen, som hjelper til med å behandle serverrelaterte forespørsler i webserverområdet. Vi vil se på hvordan vi kan lage en grunnleggende webserverapplikasjon ved hjelp av Node js.

Knutepunkt som en webserver ved hjelp av 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 blir gjort via nettleseren på dette portnr., Vil serverapplikasjonen sende et 'Hello World' svar til klienten.

Kode Forklaring:

  1. Den grunnleggende funksjonaliteten til funksjonen krever er at den leser en JavaScript-fil, kjører filen og deretter fortsetter å returnere eksportobjektet. Så i vårt tilfelle, siden vi ønsker å bruke funksjonaliteten til http-modulen, bruker vi funksjonen krever for å få de ønskede funksjonene fra http-modulen slik at den kan brukes i vår applikasjon.
  2. I denne kodelinjen lager vi en serverapplikasjon som er basert på en enkel funksjon. Denne funksjonen kalles når det blir gjort en forespørsel til serverapplikasjonen vår.
  3. Når en forespørsel mottas, sier vi at vi skal sende et svar med overskriftstypen '200'. Dette nummeret er det normale svaret som sendes i en http-overskrift når et vellykket svar sendes til klienten.
  4. I selve svaret sender vi strengen 'Hello World'.
  5. Vi bruker deretter server.listen-funksjonen for å få serverapplikasjonen til å lytte til klientforespørsler på port nr. 7000. Du kan spesifisere en hvilken som helst tilgjengelig port her.

Hvis kommandoen er utført vellykket, vil følgende utdata vises når du kjører koden din i nettleseren.

Produksjon:

Fra utgangen,

  • Du kan tydelig se at hvis vi blar til URLen til localhost på port 7000, vil du se strengen 'Hello World' vist på siden.
  • Fordi vi i koden vår har nevnt spesielt at serveren skal lytte på port nr. 7000, kan vi se utdataene når vi surfer til denne url.

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 om å få data fra et annet nettsted er relativt veldig 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 i kommandolinjen

npm installasjonsforespørsel

Ovennevnte kommando ber Node-pakkebehandling om å laste ned de nødvendige forespørselsmodulene og installere dem deretter.

Når npm-modulen din er installert, vil kommandolinjen vise det installerte modulnavnet og versjonen: @ .

I øyeblikksbildet ovenfor kan du se at forespørselsmodulen sammen med versjonsnummer 2.67.0 ble lastet ned og installert.

La oss nå se koden som kan bruke denne "forespørsel" -kommandoen.

Kode Forklaring:

  1. Vi bruker 'forespørselsmodulen' som ble installert i det siste trinnet. Denne modulen har de nødvendige funksjonene som kan brukes til å komme med GET-forespørsler til nettsteder.
  2. Vi sender en GET-forespørsel til www.google.com og ringer deretter en funksjon når svaret mottas. Når et svar mottas, vil parametrene (feil, respons og kropp) ha følgende verdier
    1. Feil - I tilfelle det mottas en feil når du bruker GET-forespørselen, blir den registrert her.
    2. Svar - Svaret vil ha http-overskriftene som sendes tilbake i svaret.
    3. Body- Body vil inneholde hele innholdet i svaret sendt av Google.
  3. I dette skriver vi bare innholdet som mottas i body-parameteren til console.log-filen. Så i utgangspunktet, uansett hva vi får ved å gå til www.google.com, blir det 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);});

Sammendrag

  • Node.js-rammeverket kan brukes til å utvikle webservere ved hjelp av 'http' -modulen. Søknaden kan gjøres for å lytte på en bestemt port og sende svar til klienten når det blir bedt om søknaden.
  • Forespørselsmodulen kan brukes til å få informasjon fra nettsteder. Informasjonen vil inneholde hele innholdet på websiden som er forespurt fra det aktuelle nettstedet.