Home / Uncategorized / Wie funktioniert Node.js Server?

Was ist node JS?

Node.js ist die JavaScript Laufzeit Umgebung, welche auf die V8 Maschine von Google basiert. Mithilfe von Node.js können wir JavaScript außerhalb des Browsers laufen lassen. Weiteres was Sie eventuell noch nicht über Node.js wissen ist, dass es einfadig ist, basierend auf ereignisgesteuerte Architektur und nicht blockierend basierend auf dem I/O- Modell.

Node.js Architektur

Node versichert, dass diese asynchrone Aufgaben ereignisbasierend und asynchron sind. Eine ereignisbasierende Architektur herzustellen versichert, dass der Hauptfaden nicht darauf wartet bis die asynchrone Anfrage fertig ist.

Die Hauptkonzepte, welche in der Node Prozessur involviert sind:

• Node.js ist eine einfädige Ereignisschlaufe
• Node hat ein nicht-blockierendes I/O-Modell
• Ereignisbasierend, statt auf den I/O Eingriff zu warten

Node ist eine einfädige Ereignisschlaufe

Es wird oft missverstanden, dass Node mehrfädig ist. Es basiert auf eine einfädige Ereginisschlaufen-Architektur. Alle Anfragen werden von der Ereignisschlaufe empfangen. Jede Anfrage besteht aus asynchrone und synchrone Umsetzung. 

Der Hauptfaden is verantwortlich um lediglich den synchronen Part der Anfrage umzusetzen. Sobald asynchrone I/O-Eingriffe angetroffen werden, ordnet der Hauptfaden einen Hintergrundsfaden zu, um den I/O-Eingriff zu bearbeiten.

Node hat ein nicht-blockierendes I/O-Modell

Node’s Hauptstrang wartet nicht auf eine äußere zeiteinnehmende Bearbeitung zur Vervollständigung. Während der Hintergrundsfaden die I/O-Funktion umsetzt, wartet der Hauptfaden nicht bis dieser Prozess beendet ist. Während die asynchrone Aufgabe im Hintergrund umgesetzt wird, widmet sich der Hauptfaden anderen Anfragen zu. 

Sobald die Umsetzung des Hintergrundfadens beendet ist, kehrt er für weitere Umsetzungen zu den Hauptfaden zurück. Node’s Hauptfaden wechselt stetig zwischen verschiedene Anfragen um dessen synchronen Part umzusetzen.

Ereignisbasierend, statt auf den I/O Eingriff zu warten

Der Hintergrundfaden nutzt einen ereignisbasierenden Ansatz um dem Hauptstrang ein Signal zu übermitteln. Jede asynchrone Aufgabe setzt sich zusammen aus einigen Rückruf-Funktionen, welche sich mit ihr assoziieren. Sobald die asynchrone Aufgabe beendet ist, erhebt der Hintergrundfaden ein Ereignis um dem Hauptfaden das Signal zu übermitteln, dass die Aufgabe beendet ist. Währenddessen wartet die Aufgabe auf dem Hauptfaden. Sobald dieser frei ist, nimmt er die Rückruf-Anfrage auf für weitere Umsetzung.

Die Node.js Bibliothek

Wie anhand der unteren Grafik zu sehen ist, hat Node.js eine große Anzahl and Funktionalität in ihrer Bibliothek.

Das HTTP-Modul, welches wir im vorherigen Probecode verwendeten, beinhaltet sowohl Kunden- wie auch Serverklassen, wie auf der rechten Seite der Grafik zu sehen ist. Die HTTPS Server Funktionalität, die TLS oder SSL nutzt, liegt in einem seperaten Modul.

Einen HTTP-Server mit Node.js herstellenEinen HTTP-Server mit Node.js herstellen

Node.js ist eine JavaScript Laufzeit Umgebung, welche auf die V8 Maschine von Google basiert. Sie kommt mit einnem HTTP:Modul, welches eine weite Option von Funktionen und Klassen zum Aufbau eines HTTP-Servers bietet.

Das folgende Beispiel stellt einen Webserver her, welcher auf jegliche Art von Anfrage auf der URL http://127.0.0.1:5000/ hört. Wenn eine Anfrage ankommt, antwortet das Skript mit der Kette „Hello World“.

Wenn Sie den Node bereits installiert haben, können Sie diese Schritte folgen um das Beispiel auszuprobieren:

1.	Öffnen sie Terminal (auf Windows öffnen Sie das Befehlszeilenprogramm)
2.	Stellen Sie einen Ordner her, indem Sie das Programm speichern wollen, beispielsweise node-server. Gehen Sie in den Ordner hinein indem Sie folgenden Befehl in Ihr Terminal eingeben: Code: cd node-server 
3.	Nutzen Sie Ihr Textbearbeitungsprogramm und stellen Sie einen Ordner her namens hello.js. Kopieren Sie folgenden Code hinein: 

4.	// Load HTTP module 
5.	const http = require("http"); 
 
6.	const hostname = "127.0.0.1"; 
7.	const port = 5000; 
 
8.	// Create HTTP server 
9.	const server = http.createServer(function(req, res) { 
 
10.	   // Set the response HTTP header with HTTP status and Content type 
11.	   res.writeHead(200, {'Content-Type': 'text/plain'}); 
 
12.	   // Send the response body "Hello World" 
13.	   res.end('Hello World\n'); 
14.	}); 
15.	 
16.	// Prints a log once the server starts listening 
17.	server.listen(port, hostname, function() { 
18.	   console.log(`Server running at http://${hostname}:${port}/`); 
19.	}) 

4. Speichern Sie die Datei in den Ordner
5. Gehen Sie zurück zum Terminal und geben Sie folgenden Befehl ein: Code: node hello.js
6. Schlussendlich, navigieren Sie zu http://localhost:5000 auf Ihrem Webbrowser. Auf Ihrer sonst leeren Webseite sollte nun „Hello World“ in der oberen linken Ecke stehen.

Wenn Sie Ihren eigenen Webshop aufbauen möchten oder Fragen zu E-Commerce-Entwicklungsplattformen oder Apps haben, lesen Sie unsere Blogbeiträge für Shopify und Shopware. Unser engagiertes Outsourcing-Team kann Ihr Mitarbeiter im E-Commerce sein.

Arrange a free consultation now!