L'image semble être un diagramme conceptuel expliquant comment un serveur Node.js traite les requêtes HTTP entrantes.
Voici une description des composants et de leurs relations comme illustré dans le diagramme :
Composants principaux :
-
Code du serveur Node.js :
- L'extrait de code montre la configuration d'un serveur HTTP dans 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);
Copier après la connexion
- Fonctions :
-
doOnIncoming : gère les demandes entrantes.
-
doOnError : gère les erreurs du serveur.
-
server.listen(80) : démarre le serveur pour écouter sur le port 80.
- Gestionnaires d'événements :
-
'request' : Déclenche la fonction doOnIncoming.
-
'error' : Déclenche la fonction doOnError.
-
Flux de requête HTTP :
- Une requête (par exemple, http://twitter/3) est envoyée au serveur.
- Il est reçu sous forme de Buffer via une connexion socket.
-
Fonctionnalités Libuv et ordinateur :
-
Libuv fait office de pont entre Node.js et les opérations au niveau du système :
- Gère les tâches de mise en réseau et de système de fichiers.
- Gère les opérations d'E/S asynchrones.
-
Fonctionnalités Node.js/C :
- Arguments ajoutés automatiquement :
-
req (Objet de requête) : contient des détails tels que le corps et l'en-tête.
-
res (Objet de réponse) : fournit des méthodes telles que send(), status() et json().
- Fonctions exécutées automatiquement :
-
doOnIncoming : traite la demande et envoie une réponse.
-
doOnError : gère et enregistre les erreurs.
-
Couche de stockage :
- Contient les définitions des fonctions et des méthodes liées au serveur :
- doOnIncoming
- doOnError
-
objet serveur (avec méthodes Listen et On).
Aperçu du flux de demande :
- Une requête HTTP entre dans le système.
- Le socket est ouvert pour traiter la demande Avec Port (80/443)
- La requête passe par Libuv, qui interagit avec les capacités réseau et du système de fichiers du système.
- Node.js gère la requête à l'aide de fonctions prédéfinies (doOnIncoming et doOnError) et renvoie une réponse.
Ce diagramme illustre l'interaction entre JavaScript, Node.js et les fonctionnalités C sous-jacentes du système, fournissant une image claire de la façon dont Node.js traite les requêtes à un niveau bas.
Référence :-
https://frontendmasters.com/courses/servers-node-js/
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!