Skapa HTTP-webbserver i Node.js: Handledning med Code Exempelvis

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.

Nod som webbserver med HTTP

Code Fรถrklaring

  1. 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.
  2. 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.
  3. 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.
  4. I sjรคlva svaret skickar vi strรคngen "Hello World."
  5. 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

Nod som webbserver med HTTP

Frรฅn utgรฅngen,

  • Det kan man tydligt se om vi blรคddrar till URL fรถr localhost pรฅ port 7000, kommer du att se strรคngen 'Hello World' visas 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: @ .

Hantera GET-fรถrfrรฅgningar

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.

Hantera GET-fรถrfrรฅgningar

Code Fรถrklaring

  1. 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.
  2. 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
    1. Fel โ€“ Om det finns nรฅgot fel som tas emot nรคr du anvรคnder GET-begรคran, kommer det att registreras hรคr.
    2. Svar- Svaret kommer att ha http-rubriker som skickas tillbaka i svaret.
    3. Brรถdtext - Brรถdtexten kommer att innehรฅlla hela innehรฅllet i svaret som skickats av Google.
  3. 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.

Sammanfatta detta inlรคgg med: