Avec 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!