Skapa HTTP-webbserver i Node.js: Handledning med kodexempel
Ramverket Node.js används mest för att skapa serverbaserade applikationer. Ramverket kan enkelt användas för att skapa webbservrar som kan servera innehåll till användare.
Det finns en mängd olika moduler som "http" och "request"-modulen, som hjälper till att behandla serverrelaterade förfrågningar i webbserverutrymmet. Vi kommer att ta en titt på hur vi kan skapa en grundläggande webbserverapplikation med hjälp av Nod js.
Nod som en webbserver som använder HTTP
Låt oss titta på ett exempel på hur man skapar och kör vår första Node js-applikation.
Vår applikation kommer att skapa en enkel servermodul som kommer att lyssna på port nr 7000. Om en förfrågan görs via webbläsaren på detta portnummer, kommer serverapplikationen att skicka ett "Hello World"-svar till klienten.
Kodförklaring
- Den grundläggande funktionaliteten för require-funktionen är att den läser a JavaScript fil, kör filen och fortsätter sedan med att returnera exportobjektet. Så i vårt fall, eftersom vi vill använda funktionaliteten i http-modulen, använder vi funktionen require för att få de önskade funktionerna från http-modulen så att den kan användas i vår applikation.
- I denna kodrad skapar vi en serverapplikation som är baserad på en enkel funktion. Denna funktion anropas när en begäran görs till vår serverapplikation.
- När en förfrågan tas emot, säger vi att vi ska skicka ett svar med rubriktypen "200". Detta nummer är det normala svaret som skickas i en http-header när ett lyckat svar skickas till klienten.
- I själva svaret skickar vi strängen "Hello World."
- Vi använder sedan server.listen-funktionen för att få vår serverapplikation att lyssna på klientförfrågningar på port nr 7000. Du kan ange vilken port som helst här.
Om kommandot exekveras framgångsrikt kommer följande utdata att visas när du kör din kod i webbläsaren.
Produktion
Från utgången,
- Du kan tydligt se att om vi bläddrar till URL:en för localhost på port 7000, kommer du att se strängen "Hello World" på sidan.
- Eftersom vi i vår kod har nämnt specifikt att servern ska lyssna på port nr 7000, kan vi se utdata när vi bläddrar till denna url.
Här är koden som referens
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);
Hantera GET-förfrågningar i Node.js
Att göra en GET-förfrågan för att hämta data från en annan webbplats är relativt mycket enkelt i Node.js. För att göra en Get-förfrågan i noden måste vi först ha förfrågningsmodulen installerad. Detta kan göras genom att utföra följande rad på kommandoraden
npm installationsbegäran
Ovanstående kommando uppmanar Node-pakethanteraren att ladda ner de nödvändiga förfrågningsmodulerna och installera dem därefter.
När din npm-modul har installerats framgångsrikt kommer kommandoraden att visa det installerade modulens namn och version: @ .
I ögonblicksbilden ovan kan du se att modulen 'begäran' tillsammans med versionsnumret 2.67.0 laddades ner och installerades.
Låt oss nu se koden som kan använda detta "request"-kommando.
Kodförklaring
- Vi använder modulen 'request' som installerades i det sista steget. Denna modul har de nödvändiga funktionerna som kan användas för att göra GET-förfrågningar till webbplatser.
- Vi gör en GET-förfrågan till www.google.com och anropar sedan en funktion när ett svar tas emot. När ett svar tas emot kommer parametrarna (error, response och body) att ha följande värden
- Fel – Om det finns något fel som tas emot när du använder GET-begäran, kommer det att registreras här.
- Svar- Svaret kommer att ha http-rubriker som skickas tillbaka i svaret.
- Brödtext- Brödtexten kommer att innehålla hela innehållet i svaret som skickas av Google.
- I detta skriver vi bara innehållet som tas emot i parametern body till filen console.log. Så i princip, vad vi än får genom att gå till www.google.com kommer att skrivas till console.log.
Här är koden som referens
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Sammanfattning
- Ramverket Node.js kan användas för att utveckla webbservrar med hjälp av 'http'-modulen. Applikationen kan göras för att lyssna på en viss port och skicka ett svar till klienten när en begäran görs till applikationen.
- Modulen 'begäran' kan användas för att hämta information från webbplatser. Informationen skulle innehålla hela innehållet på webbsidan som begärs från den relevanta webbplatsen.