Heim > Web-Frontend > Front-End-Fragen und Antworten > Ein Artikel, der die domänenübergreifende Einstellungsmethode von Node.js vorstellt

Ein Artikel, der die domänenübergreifende Einstellungsmethode von Node.js vorstellt

PHPz
Freigeben: 2023-04-05 09:43:10
Original
2350 Leute haben es durchsucht

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());
Nach dem Login kopieren

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);
Nach dem Login kopieren

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));
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage