Maison  >  Article  >  interface Web  >  transfert de requêtes multiples nodejs

transfert de requêtes multiples nodejs

PHPz
PHPzoriginal
2023-05-17 09:54:37606parcourir

Node.js est un environnement d'exécution JavaScript open source côté serveur basé sur le moteur V8, qui permet à JavaScript de s'exécuter « indépendamment de la plate-forme » sans le navigateur. Par rapport aux langages traditionnels côté serveur, Node.js offre des performances plus élevées et une meilleure évolutivité. Dans le cadre du développement réel, nous devons souvent traiter et transmettre plusieurs demandes. Cet article explique comment utiliser Node.js pour le transfert multi-requêtes.

  1. Contexte du transfert de requêtes multiples

Dans les applications avec séparation front-end et back-end et architecture de microservices, le front-end doit envoyer des messages à différents services back-end. Cependant, les requêtes frontales peuvent être restreintes à tous les domaines, ou les services back-end peuvent nécessiter une authentification de sécurité et d'autres opérations. Dans ce cas, nous avons besoin d’un middleware indépendant pour transmettre la demande.

  1. Utilisez Node.js pour le transfert multi-requêtes

Dans Node.js, nous pouvons utiliser http, https, request et d'autres modules pour réaliser ce transfert de requêtes multiples. L'implémentation spécifique est la suivante :

(1) Utilisez le module http

const http = require('http');

const port = 8080;

const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World');
});

server.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});

Dans ce code, nous utilisons la méthode http.createServer() pour créer un serveur et spécifier exécuter Le numéro de port est 8080. Une fois que la requête atteint le serveur, celui-ci renvoie une chaîne « Hello World ». Nous pouvons utiliser le module http pour envoyer des requêtes à d'autres serveurs et obtenir des réponses, réalisant ainsi un transfert multi-requêtes.

(2) Utilisez le module https

Par rapport au module http, le module https nécessite une vérification de certificat et d'autres opérations, et est relativement compliqué à utiliser. Supposons que nous voulions envoyer une requête à un serveur https et obtenir une réponse. Le code est le suivant :

const https = require('https');

const options = {
  hostname: 'www.example.com',
  port: 443,
  path: '/api',
  method: 'GET'
};

const req = https.request(options, res => {
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d);
  });
});

req.on('error', error => {
  console.error(error);
});

req.end();

Dans ce code, nous utilisons la méthode https.request() pour envoyer une requête à un serveur https. serveur https. Avant de demander, nous devons spécifier le nom d'hôte, le numéro de port, le chemin et la méthode de demande du serveur. Une fois la requête réussie, le serveur renverra une réponse et nous pourrons obtenir le contenu de la réponse en écoutant l'événement de données de l'objet res.

(3) Utilisez le module de requête

Il existe également une bibliothèque de requêtes populaire dans Node.js appelée module de requête. Grâce à ce module, vous pouvez facilement envoyer des requêtes à d'autres serveurs et prendre en charge l'analyse automatique des données renvoyées et la gestion automatique des problèmes inter-domaines. Le code est le suivant :

const request = require('request');

const options = {  
  url: 'https://www.example.com/api',
  headers: {
    'User-Agent': 'request'
  }
};

request.get(options, (error, response, body) => {
  if (error) {
    console.log(error);
    return;
  }
  console.log(body);
});

Dans ce code, nous utilisons la méthode request.get() pour envoyer une requête GET à 'https://www.example.com/api', et après la demande est réussie, affiche le contenu renvoyé.

  1. Summary

L'utilisation de Node.js pour le transfert multi-requêtes peut facilement résoudre le problème de la séparation front-end et back-end et possible croisement dans l’architecture des microservices. Problèmes tels que l’authentification de domaine et de sécurité. En plus des modules http, https et des modules de requête, Node.js dispose également d'autres modules qui peuvent être utilisés pour implémenter le transfert multi-requêtes, tels que axios, node-fetch, etc. En développement réel, des modules et méthodes appropriés peuvent être sélectionnés en fonction des besoins.

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
Article précédent:nodejs installé par défautArticle suivant:nodejs installé par défaut