Erstellen eines HTTP-Webservers in Node.js: Tutorial mit Code Beispiel
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.
Code Erlรคuterung
- 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.
- 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.
- 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.
- In der Antwort selbst senden wir die Zeichenfolge โHello Worldโ.
- 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
Aus der Ausgabe,
- Das kann man deutlich sehen, wenn wir zu folgendem navigieren: URL Wenn Sie localhost auf Port 7000 aufrufen, wird die Zeichenkette โHello Worldโ auf der Seite angezeigt.
- 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: @ .
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.
Code Erlรคuterung
- 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.
- 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
- Fehler โ Falls bei der Verwendung der GET-Anfrage ein Fehler auftritt, wird dieser hier aufgezeichnet.
- Antwort: Die Antwort enthรคlt die HTTP-Header, die in der Antwort zurรผckgesendet werden.
- Textkรถrper โ Der Textkรถrper enthรคlt den gesamten Inhalt der vom Programm gesendeten Antwort. Google.
- 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.




