Stvorite HTTP web poslužitelj u Node.js: Vodič s primjerom koda
Okvir Node.js uglavnom se koristi za izradu aplikacija temeljenih na poslužitelju. Okvir se lako može koristiti za stvaranje web poslužitelja koji mogu posluživati sadržaj korisnicima.
Postoji niz modula kao što su "http" i "request" modul, koji pomaže u obradi zahtjeva povezanih s poslužiteljem u prostoru web poslužitelja. Pogledat ćemo kako možemo stvoriti osnovnu aplikaciju web poslužitelja pomoću Čvor js.
Čvor kao web poslužitelj koji koristi HTTP
Pogledajmo primjer kako stvoriti i pokrenuti našu prvu Node js aplikaciju.
Naša će aplikacija izraditi jednostavan poslužiteljski modul koji će slušati na portu br. 7000. Ako je zahtjev napravljen putem preglednika na ovom portu br., tada će aplikacija poslužitelja poslati odgovor 'Hello World' klijentu.
Objašnjenje koda
- Osnovna funkcionalnost zahtijevane funkcije je da čita a JavaScript datoteku, izvršava datoteku, a zatim vraća objekt izvoza. Dakle, u našem slučaju, budući da želimo koristiti funkcionalnost http modula, koristimo funkciju require kako bismo dobili željene funkcije iz http modula tako da se mogu koristiti u našoj aplikaciji.
- U ovoj liniji koda stvaramo poslužiteljsku aplikaciju koja se temelji na jednostavnoj funkciji. Ova se funkcija poziva svaki put kada se uputi zahtjev našoj poslužiteljskoj aplikaciji.
- Kada se primi zahtjev, kažemo da pošaljemo odgovor s vrstom zaglavlja '200.' Ovaj broj je normalan odgovor koji se šalje u http zaglavlju kada se klijentu pošalje uspješan odgovor.
- U samom odgovoru šaljemo niz 'Hello World'.
- Zatim koristimo funkciju server.listen kako bismo natjerali našu poslužiteljsku aplikaciju da sluša zahtjeve klijenta na portu br. 7000. Ovdje možete navesti bilo koji dostupni port.
Ako je naredba uspješno izvršena, sljedeći će se izlaz prikazati kada pokrenete svoj kod u pregledniku.
Izlaz
Iz izlaza,
- Jasno možete vidjeti da ako pregledamo URL lokalnog hosta na portu 7000, vidjet ćete niz 'Hello World' prikazan na stranici.
- Budući da smo u našem kodu posebno spomenuli da poslužitelj sluša na portu br. 7000, možemo vidjeti izlaz kada pregledavamo ovaj url.
Ovdje je kôd za vašu referencu
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);
Rukovanje GET zahtjevima u Node.js
Izrada GET zahtjeva za dobivanje podataka s drugog mjesta relativno je vrlo jednostavna u Node.js. Da bismo napravili Get zahtjev u čvoru, prvo moramo imati instaliran modul zahtjeva. To se može učiniti izvršavanjem sljedećeg retka u naredbenom retku
npm instalacijski zahtjev
Gornja naredba zahtijeva od upravitelja paketa Node da preuzme potrebne module zahtjeva i instalira ih u skladu s tim.
Kada je vaš npm modul uspješno instaliran, naredbeni redak će prikazati naziv i verziju instaliranog modula: @ .
Na gornjoj snimci možete vidjeti da je modul 'request' zajedno s verzijom broj 2.67.0 preuzet i instaliran.
Sada da vidimo kod koji može koristiti ovu naredbu 'request'.
Objašnjenje koda
- Koristimo modul 'request' koji je instaliran u zadnjem koraku. Ovaj modul ima potrebne funkcije koje se mogu koristiti za upućivanje GET zahtjeva web stranicama.
- Izrađujemo GET zahtjev na www.google.com i naknadno pozivamo funkciju kada primimo odgovor. Kada se primi odgovor, parametri (greška, odgovor i tijelo) će imati sljedeće vrijednosti
- Pogreška – U slučaju da se pojavi bilo kakva pogreška prilikom korištenja GET zahtjeva, ona će biti zabilježena ovdje.
- Odgovor - Odgovor će imati http zaglavlja koja se šalju natrag u odgovoru.
- Tijelo – tijelo će sadržavati cijeli sadržaj odgovora koji šalje Google.
- U ovom slučaju samo zapisujemo sadržaj primljen u parametru tijela u datoteku console.log. Dakle, u osnovi, što god dobijemo odlaskom www.google.com bit će zapisan u konzolu.log.
Ovdje je kôd za vašu referencu
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
rezime
- Okvir Node.js može se koristiti za razvoj web poslužitelja pomoću 'http' modula. Aplikaciju je moguće natjerati da sluša određeni port i šalje odgovor klijentu svaki put kad se aplikaciji uputi zahtjev.
- Modul 'zahtjev' može se koristiti za dobivanje informacija s web stranica. Informacije bi sadržavale cjelokupni sadržaj web stranice koji se traži od relevantne web stranice.