


Un article présentant la méthode de paramétrage inter-domaines de Node.js
Apr 05, 2023 am 09:09 AMAvec le développement d'Internet, la tendance à la séparation du front-end et du back-end devient de plus en plus évidente. Dans le développement de la séparation front-end et back-end, lorsque la page front-end demande l'interface API back-end, cela provoque de nombreux désagréments en raison de problèmes inter-domaines. Cet article présentera la méthode de configuration inter-domaines de Node.js.
1. Qu'est-ce que le cross-domain
1.1 Qu'est-ce que la politique de même origine
Dans le domaine de la sécurité Web, la politique de même origine fait référence à ce qui suit : le protocole, le nom de domaine et le numéro de port doivent être complètement cohérent afin d’accéder à une autre source à partir d’un document source. En termes simples, le JavaScript de la page ne peut lire et exploiter que des documents provenant de la même source que lui.
1.2 Qu'est-ce que le cross-domain ?
Supposons que la page Web sous le nom de domaine A accède aux ressources sous le nom de domaine B via un script. Cette situation est appelée cross-domain.
2. Paramètres Node.js inter-domaines
2.1 Installer le module Cors
Cors est un module Node.js qui permet un accès inter-domaine. Tant que vous l'installez, vous pouvez facilement résoudre les problèmes inter-domaines.
npm install cors
2.2 Utilisation du module Cors dans Node.js
Dans le framework Express, l'utilisation directe de cors peut résoudre des problèmes inter-domaines.
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors());
Le code ci-dessus activera CORS pour toutes les routes du projet. Si vous souhaitez l'activer uniquement dans une route spécifique, vous pouvez utiliser le code suivant :
const express = require('express'); const cors = require('cors'); const app = express(); const router = express.Router(); const corsOptions = { origin: 'http://example.com', // 允许访问的域名 optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204 }; router.get('/', cors(corsOptions), function(req, res) { //... }); app.use('/', router);
2.3 Paramètres inter-domaines personnalisés
Si vous en voulez plus. paramètres inter-domaines détaillés, vous pouvez personnaliser à l’aide de diverses options de cors. Voici quelques options couramment utilisées :
const corsOptions = { origin: 'http://example.com', // String: 允许访问的域名,可以是字符串或正则表达式 methods: ['GET', 'POST'], // Array: 允许的HTTP请求方法 allowedHeaders: ['Content-Type'], // Array: 允许使用的自定义Header exposedHeaders: ['Content-Type'], // Array: 允许客户端访问的响应头 credentials: true, // Boolean: 是否发送Cookies maxAge: 86400 // Number: 预检请求缓存时间,单位秒 }; app.use(cors(corsOptions));
3. Résumé
Node.js fournit le module cors, qui peut facilement résoudre les problèmes inter-domaines. Dans le framework Express, CORS peut être activé avec une seule ligne de code. Dans le même temps, les paramètres inter-domaines peuvent également être personnalisés pour répondre à des besoins plus flexibles.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Expliquez le concept de chargement paresseux.

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires?

Comment fonctionne le currying en JavaScript et quels sont ses avantages?

Comment fonctionne l'algorithme de réconciliation React?

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable?

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements?

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés?

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants?
