Das Bild scheint ein konzeptionelles Diagramm zu sein, das erklärt, wie ein Node.js-Server eingehende HTTP-Anfragen verarbeitet.
Hier finden Sie eine Beschreibung der Komponenten und ihrer Beziehungen, wie im Diagramm dargestellt:
Hauptbestandteile:
-
Node.js-Servercode:
- Das Code-Snippet demonstriert das Einrichten eines HTTP-Servers in Node.js:
const doOnIncoming = (req, res) => {};
const doOnError = (error, data) => {};
const server = http.createServer();
server.listen(80);
server.on('request', doOnIncoming);
server.on('error', doOnError);
Nach dem Login kopieren
- Funktionen:
-
doOnIncoming: Verarbeitet eingehende Anfragen.
-
doOnError: Behandelt Serverfehler.
-
server.listen(80): Startet den Server, um Port 80 abzuhören.
- Ereignishandler:
-
'request': Löst die doOnIncoming-Funktion aus.
-
'error': Löst die doOnError-Funktion aus.
-
HTTP-Anfrageablauf:
- Eine Anfrage (z. B. http://twitter/3) wird an den Server gesendet.
- Es wird als Puffer über eine Socket-Verbindung empfangen.
-
Libuv- und Computerfunktionen:
-
Libuv fungiert als Brücke zwischen Node.js und Operationen auf Systemebene:
- Übernimmt Netzwerk-- und Dateisystem--Aufgaben.
- Verwaltet asynchrone E/A-Vorgänge.
-
Node.js/C-Funktionen:
- Automatisch hinzugefügte Argumente:
-
req (Anfrageobjekt): Enthält Details wie Text und Header.
-
res (Antwortobjekt): Stellt Methoden wie send(), status() und json() bereit.
- Automatisch ausgeführte Funktionen:
-
doOnIncoming: Verarbeitet die Anfrage und sendet eine Antwort.
-
doOnError: Behandelt und protokolliert Fehler.
-
Speicherschicht:
- Enthält Definitionen für Funktionen und serverbezogene Methoden:
- doOnIncoming
- doOnError
-
Serverobjekt (mit Listen- und On-Methoden).
Übersicht über den Anforderungsablauf:
- Eine HTTP-Anfrage gelangt ins System.
- Der Socket wird geöffnet, um die Anfrage mit Port (80/443) zu verarbeiten
- Die Anfrage läuft über Libuv, das mit den Netzwerk- und Dateisystemfunktionen des Systems interagiert.
- Node.js verarbeitet die Anfrage mithilfe vordefinierter Funktionen (doOnIncoming und doOnError) und sendet eine Antwort zurück.
Dieses Diagramm veranschaulicht das Zusammenspiel zwischen JavaScript, Node.js und den zugrunde liegenden C-Funktionen des Systems und bietet ein klares Bild davon, wie Node.js Anforderungen auf niedriger Ebene verarbeitet.
Referenz:-
https://frontendmasters.com/courses/servers-node-js/
Das obige ist der detaillierte Inhalt vonErstellen Sie einen Server im Knoten unter der Haube. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!