Luo HTTP-verkkopalvelin Node.js:ssä: opetusohjelma koodiesimerkillä

Node.js-kehystä käytetään enimmäkseen palvelinpohjaisten sovellusten luomiseen. Kehyksen avulla voidaan helposti luoda web-palvelimia, jotka voivat palvella sisältöä käyttäjille.

On olemassa useita moduuleja, kuten "http" ja "pyyntö"-moduuli, joka auttaa käsittelemään palvelimeen liittyviä pyyntöjä verkkopalvelintilassa. Katsotaan kuinka voimme luoda perusverkkopalvelinsovelluksen käyttämällä Node js.

Solmu web-palvelimena HTTP:n avulla

Katsotaanpa esimerkkiä ensimmäisen Node js -sovelluksen luomisesta ja suorittamisesta.

Sovelluksemme aikoo luoda yksinkertaisen palvelinmoduulin, joka kuuntelee porttia nro 7000. Jos pyyntö tehdään selaimen kautta tähän porttiin nro, palvelinsovellus lähettää asiakkaalle Hello World -vastauksen.

Solmu Web-palvelimena HTTP:tä käyttävänä

Koodin selitys

  1. Vaatimuksen funktion perustoiminto on, että se lukee a JavaKäsikirjoitus tiedosto, suorittaa tiedoston ja jatkaa sitten vientiobjektin palauttamista. Joten meidän tapauksessamme, koska haluamme käyttää http-moduulin toimintoja, käytämme vaadi-funktiota saadaksemme halutut funktiot http-moduulista, jotta sitä voidaan käyttää sovelluksessamme.
  2. Tällä koodirivillä luomme palvelinsovellusta, joka perustuu yksinkertaiseen toimintoon. Tätä toimintoa kutsutaan aina, kun palvelinsovelluksellemme tehdään pyyntö.
  3. Kun pyyntö vastaanotetaan, pyydämme lähettämään vastauksen, jonka otsikkotyyppi on "200". Tämä numero on normaali vastaus, joka lähetetään http-otsikossa, kun asiakkaalle lähetetään onnistunut vastaus.
  4. Itse vastauksessa lähetämme merkkijonon "Hei maailma".
  5. Käytämme sitten server.listen-toimintoa saadaksemme palvelinsovelluksemme kuuntelemaan asiakkaan pyyntöjä portista 7000. Voit määrittää minkä tahansa käytettävissä olevan portin täällä.

Jos komento suoritetaan onnistuneesti, seuraava tulos näytetään, kun suoritat koodin selaimessa.

ulostulo

Solmu Web-palvelimena HTTP:tä käyttävänä

Ulostulosta,

  • Näet selvästi, että jos selaamme portin 7000 localhostin URL-osoitteeseen, näet sivulla merkkijonon "Hello World".
  • Koska koodissamme olemme maininneet nimenomaan palvelimen kuuntelevan porttia nro 7000, voimme tarkastella tulostetta, kun selaat tätä URL-osoitetta.

Tässä on koodi viitteellesi

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

GET-pyyntöjen käsittely Node.js:ssä

GET-pyynnön tekeminen tietojen saamiseksi toiselta sivustolta on suhteellisen helppoa Node.js:ssä. Jotta voimme tehdä Get-pyynnön solmussa, meidän on ensin oltava asennettuna pyyntömoduuli. Tämä voidaan tehdä suorittamalla seuraava rivi komentorivillä

npm-asennuspyyntö

Yllä oleva komento pyytää Node-pakettien hallintaa lataamaan vaaditut pyyntömoduulit ja asentamaan ne vastaavasti.

Kun npm-moduuli on asennettu onnistuneesti, komentorivillä näkyy asennetun moduulin nimi ja versio: @ .

GET-pyyntöjen käsittely

Yllä olevasta tilannekuvasta näet, että 'pyyntö'-moduuli sekä versionumero 2.67.0 on ladattu ja asennettu.

Katsotaanpa nyt koodia, joka voi käyttää tätä 'request'-komentoa.

GET-pyyntöjen käsittely

Koodin selitys

  1. Käytämme 'request'-moduulia, joka asennettiin viimeisessä vaiheessa. Tässä moduulissa on tarvittavat toiminnot, joita voidaan käyttää GET-pyyntöjen tekemiseen verkkosivustoille.
  2. Teemme GET-pyynnön osoitteeseen www.google.com ja kutsumme sen jälkeen toimintoa, kun saamme vastauksen. Kun vastaus vastaanotetaan, parametreilla (error, response ja body) on seuraavat arvot
    1. Virhe – Jos GET-pyyntöä käytettäessä tapahtuu virhe, se tallennetaan tähän.
    2. Vastaus – vastauksessa on http-otsikot, jotka lähetetään takaisin vastauksessa.
    3. Teksti - Teksti sisältää Googlen lähettämän vastauksen koko sisällön.
  3. Tässä kirjoitamme vain body-parametrissa vastaanotetun sisällön console.log-tiedostoon. Eli periaatteessa mitä tahansa saamme menemällä www.google.com kirjoitetaan konsoli.logiin.

Tässä on koodi viitteellesi

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

Yhteenveto

  • Node.js-kehystä voidaan käyttää web-palvelimien kehittämiseen käyttämällä http-moduulia. Sovellus voidaan asettaa kuuntelemaan tiettyä porttia ja lähettämään vastaus asiakkaalle aina, kun sovellukselle tehdään pyyntö.
  • "Request"-moduulia voidaan käyttää tietojen hakemiseen web-sivustoilta. Tiedot sisältäisivät kyseiseltä verkkosivustolta pyydetyn verkkosivun koko sisällön.