Hozzon létre HTTP-webkiszolgálót a Node.js-ben: oktatóanyag kódpéldával

A Node.js keretrendszert többnyire szerver alapú alkalmazások létrehozására használják. A keretrendszer könnyen használható webszerverek létrehozására, amelyek tartalmat szolgálnak ki a felhasználók számára.

Számos modul létezik, mint például a „http” és „request” modul, amely segít feldolgozni a szerverrel kapcsolatos kéréseket a webszerver térben. Megnézzük, hogyan hozhatunk létre alapvető webszerver-alkalmazást Node js.

Csomópont webszerverként HTTP használatával

Nézzünk egy példát az első Node js alkalmazás létrehozására és futtatására.

Alkalmazásunk egy egyszerű szerver modult fog létrehozni, amely a 7000-es porton figyel. Ha a böngészőn keresztül erre a portra érkezik kérés, akkor a szerveralkalmazás 'Hello World' választ küld a kliensnek.

Csomópont webszerverként HTTP használatával

Kód Magyarázat

  1. A követelmény függvény alapvető funkciója, hogy beolvassa a JavaForgatókönyv fájlt, végrehajtja a fájlt, majd visszatér az export objektumhoz. A mi esetünkben tehát, mivel a http modul funkcionalitását szeretnénk használni, a request függvényt használjuk arra, hogy a kívánt függvényeket megkapjuk a http modulból, hogy az alkalmazásunkban használható legyen.
  2. Ebben a kódsorban egy egyszerű függvényen alapuló szerveralkalmazást hozunk létre. Ez a függvény mindig meghívásra kerül, amikor kérés érkezik a szerveralkalmazásunkhoz.
  3. Amikor egy kérés érkezik, azt mondjuk, hogy küldjön egy választ „200” fejléctípussal. Ez a szám a normál válasz, amely egy http fejlécben kerül elküldésre, amikor sikeres választ küldenek az ügyfélnek.
  4. Magában a válaszban a „Hello World” szöveget küldjük.
  5. Ezután a server.listen funkciót használjuk arra, hogy a szerveralkalmazásunk figyeljen a kliens kérésekre a 7000-es porton. Itt megadhat bármilyen elérhető portot.

Ha a parancsot sikeresen végrehajtották, a következő kimenet jelenik meg, amikor futtatja a kódot a böngészőben.

teljesítmény

Csomópont webszerverként HTTP használatával

A kimenetből,

  • Jól láthatja, hogy ha a 7000-es porton lévő localhost URL-jére böngészünk, a 'Hello World' karakterlánc jelenik meg az oldalon.
  • Mivel a kódunkban kifejezetten azt említettük, hogy a szerver a 7000-es porton figyeljen, meg tudjuk tekinteni a kimenetet, amikor erre az URL-re böngészünk.

Íme a kód a referenciaként

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-kérések kezelése a Node.js-ben

A Node.js-ben viszonylag nagyon egyszerű a GET-kérés elkészítése az adatok másik webhelyről való lekérésére. Ahhoz, hogy a csomópontban lekérést kapjunk, először telepítenünk kell a kérés modult. Ezt a parancssorban a következő sor végrehajtásával teheti meg

npm telepítési kérés

A fenti parancs arra kéri a Node csomagkezelőt, hogy töltse le a szükséges kérelmező modulokat és telepítse azokat.

Az npm modul sikeres telepítése után a parancssorban megjelenik a telepített modul neve és verziója: @ .

GET kérések kezelése

A fenti pillanatképen láthatja, hogy a „request” modul a 2.67.0 verziószámmal együtt letöltve és telepítve lett.

Most lássuk azt a kódot, amely képes használni ezt a „request” parancsot.

GET kérések kezelése

Kód Magyarázat

  1. Az utolsó lépésben telepített „kérés” modult használjuk. Ez a modul rendelkezik a szükséges funkciókkal, amelyek segítségével GET kéréseket lehet küldeni webhelyekre.
  2. GET kérést küldünk a www.google.com címre, majd válasz beérkezésekor meghívunk egy függvényt. Amikor válasz érkezik, a paraméterek (hiba, válasz és törzs) a következő értékekkel rendelkeznek
    1. Hiba – Ha a GET kérés használata során hiba történik, azt itt rögzítjük.
    2. Válasz – A válasz http fejléceket tartalmaz, amelyeket visszaküld a válaszban.
    3. Törzs – A törzs tartalmazza a Google által küldött válasz teljes tartalmát.
  3. Ebben csak a body paraméterben kapott tartalmat írjuk a console.log fájlba. Tehát alapvetően bármit is kapunk, ha megyünk www.google.com a konzolba lesz írva.log.

Íme a kód a referenciaként

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

Összegzésként

  • A Node.js keretrendszer webszerverek fejlesztésére használható a „http” modul használatával. Az alkalmazás beállítható, hogy figyeljen egy adott portra, és választ küldjön az ügyfélnek, amikor az alkalmazáshoz kérés érkezik.
  • A „kérés” modul segítségével információkat szerezhet a webhelyekről. Az információ az érintett webhelyről kért weboldal teljes tartalmát tartalmazza.