Maison >interface Web >js tutoriel >Créer un serveur dans le nœud sous le capot

Créer un serveur dans le nœud sous le capot

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-15 01:01:10816parcourir

Create Server in node under the hood

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 :

  1. 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);
    
  • 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.
  1. 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.
  2. 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.
  3. 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.
  4. 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 :

  1. Une requête HTTP entre dans le système.
  2. Le socket est ouvert pour traiter la demande Avec Port (80/443)
  3. La requête passe par Libuv, qui interagit avec les capacités réseau et du système de fichiers du système.
  4. 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn