Mit der Entwicklung des Internets wird der Trend der Trennung von Front-End und Back-End immer deutlicher. Wenn bei der Front-End- und Back-End-Trennungsentwicklung die Front-End-Seite die Back-End-API-Schnittstelle anfordert, verursacht dies aufgrund domänenübergreifender Probleme große Unannehmlichkeiten. In diesem Artikel wird die domänenübergreifende Einrichtungsmethode von Node.js vorgestellt.
1. Was ist domänenübergreifend
1.1 Was ist die Same-Origin-Richtlinie
Im Bereich der Web-Sicherheit bezieht sich die Same-Origin-Richtlinie auf Folgendes: Das Protokoll, der Domänenname und die Portnummer müssen vollständig sein konsistent, um von einem Quelldokument aus auf eine andere Quelle zuzugreifen. Vereinfacht ausgedrückt kann das JavaScript auf der Seite nur Dokumente aus derselben Quelle wie es selbst lesen und bedienen.
1.2 Was ist domänenübergreifend?
Angenommen, die Webseite unter Domänenname A greift über ein Skript auf die Ressourcen unter Domänenname B zu.
2. Node.js-Einstellungen domänenübergreifend
2.1 Cors-Modul installieren
Cors ist ein Node.js-Modul, das domänenübergreifenden Zugriff ermöglicht. Solange Sie es installieren, können Sie domänenübergreifende Probleme problemlos lösen.
npm install cors
2.2 Verwendung des Cors-Moduls in Node.js
Im Express-Framework kann die direkte Verwendung von cors domänenübergreifende Probleme lösen.
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors());
Der obige Code aktiviert CORS für alle Routen im Projekt. Wenn Sie es nur in einer bestimmten Route aktivieren möchten, können Sie den folgenden Code verwenden:
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 Benutzerdefinierte domänenübergreifende Einstellungen
Wenn Sie mehr möchten Detaillierte domänenübergreifende Einstellungen können Sie mithilfe verschiedener COR-Optionen anpassen. Hier sind einige häufig verwendete Optionen:
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. Zusammenfassung
Node.js stellt das Cors-Modul bereit, mit dem domänenübergreifende Probleme leicht gelöst werden können. Im Express-Framework kann CORS mit nur einer Codezeile aktiviert werden. Gleichzeitig können domänenübergreifende Einstellungen auch an flexiblere Anforderungen angepasst werden.
Das obige ist der detaillierte Inhalt vonEin Artikel, der die domänenübergreifende Einstellungsmethode von Node.js vorstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!