Erstellen Sie einen HTTP-Webserver in Node.js: Tutorial mit Codebeispiel

Das Node.js-Framework wird hauptsächlich zum Erstellen serverbasierter Anwendungen verwendet. Das Framework kann problemlos zum Erstellen von Webservern verwendet werden, die den Benutzern Inhalte bereitstellen können.

Es gibt eine Vielzahl von Modulen wie das „http“- und das „request“-Modul, die bei der Verarbeitung serverbezogener Anfragen im Webserverbereich helfen. Wir werden uns ansehen, wie wir damit eine einfache Webserveranwendung erstellen können Knoten js.

Knoten als Webserver mit HTTP

Schauen wir uns ein Beispiel an, wie wir unsere erste Node-JS-Anwendung erstellen und ausführen.

Unsere Anwendung wird ein einfaches Servermodul erstellen, das Port Nr. 7000 überwacht. Wenn über den Browser an diesem Port Nr. eine Anfrage gestellt wird, sendet die Serveranwendung eine „Hello World“-Antwort an den Client.

Knoten als Webserver über HTTP

Code Erklärung

  1. Die Grundfunktionalität der require-Funktion besteht darin, dass sie a liest JavaSkript Datei, führt die Datei aus und fährt dann mit der Rückgabe des Exportobjekts fort. Da wir in unserem Fall die Funktionalität des http-Moduls nutzen möchten, verwenden wir die Funktion „require“, um die gewünschten Funktionen vom http-Modul abzurufen, damit es in unserer Anwendung verwendet werden kann.
  2. In dieser Codezeile erstellen wir eine Serveranwendung, die auf einer einfachen Funktion basiert. Diese Funktion wird immer dann aufgerufen, wenn eine Anfrage an unsere Serveranwendung gestellt wird.
  3. Wenn eine Anfrage eingeht, sagen wir, dass wir eine Antwort mit dem Header-Typ „200“ senden sollen. Diese Nummer ist die normale Antwort, die in einem HTTP-Header gesendet wird, wenn eine erfolgreiche Antwort an den Client gesendet wird.
  4. In der Antwort selbst senden wir die Zeichenfolge „Hello World“.
  5. Wir verwenden dann die Funktion server.listen, um unsere Serveranwendung dazu zu bringen, Clientanfragen auf Port Nr. 7000 abzuhören. Sie können hier jeden verfügbaren Port angeben.

Wenn der Befehl erfolgreich ausgeführt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausführen.

Ausgang

Knoten als Webserver über HTTP

Aus der Ausgabe,

  • Sie können deutlich erkennen, dass, wenn wir zur URL des lokalen Hosts auf Port 7000 navigieren, auf der Seite die Zeichenfolge „Hallo Welt“ angezeigt wird.
  • Da wir in unserem Code ausdrücklich erwähnt haben, dass der Server Port Nr. 7000 abhört, können wir die Ausgabe anzeigen, wenn wir zu dieser URL navigieren.

Hier ist der Code als Referenz

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

Umgang mit GET-Anfragen in Node.js

Eine GET-Anfrage zu stellen, um Daten von einer anderen Site abzurufen, ist in Node.js relativ einfach. Um eine Get-Anfrage im Knoten zu stellen, müssen wir zuerst das Anfragemodul installieren. Dies kann durch Ausführen der folgenden Zeile in der Befehlszeile erfolgen

NPM-Installationsanfrage

Der obige Befehl fordert den Node-Paketmanager auf, die erforderlichen Anforderungsmodule herunterzuladen und entsprechend zu installieren.

Wenn Ihr npm-Modul erfolgreich installiert wurde, zeigt die Befehlszeile den Namen und die Version des installierten Moduls an: @ .

Bearbeitung von GET-Anfragen

Im obigen Schnappschuss können Sie sehen, dass das Modul „request“ mit der Versionsnummer 2.67.0 heruntergeladen und installiert wurde.

Sehen wir uns nun den Code an, der diesen „Request“-Befehl nutzen kann.

Bearbeitung von GET-Anfragen

Code Erklärung

  1. Wir verwenden das Modul „request“, das im letzten Schritt installiert wurde. Dieses Modul verfügt über die notwendigen Funktionen, mit denen GET-Anfragen an Websites gestellt werden können.
  2. Wir stellen eine GET-Anfrage an www.google.com und rufen anschließend eine Funktion auf, wenn eine Antwort empfangen wird. Wenn eine Antwort empfangen wird, haben die Parameter (Fehler, Antwort und Text) die folgenden Werte
    1. Fehler – Falls bei der Verwendung der GET-Anfrage ein Fehler auftritt, wird dieser hier aufgezeichnet.
    2. Antwort: Die Antwort enthält die HTTP-Header, die in der Antwort zurückgesendet werden.
    3. Text: Der Text enthält den gesamten Inhalt der von Google gesendeten Antwort.
  3. Dabei schreiben wir lediglich den im Body-Parameter empfangenen Inhalt in die Datei console.log. Also im Grunde genommen alles, was wir erreichen, wenn wir gehen www.google.com wird in die console.log geschrieben.

Hier ist der Code als Referenz

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

Zusammenfassung

  • Mit dem Node.js-Framework können Webserver mithilfe des Moduls „http“ entwickelt werden. Die Anwendung kann so eingestellt werden, dass sie einen bestimmten Port überwacht und eine Antwort an den Client sendet, wenn eine Anfrage an die Anwendung gestellt wird.
  • Mit dem Modul „Anfrage“ können Informationen von Websites abgerufen werden. Die Informationen würden den gesamten Inhalt der von der betreffenden Website angeforderten Webseite umfassen.