Node.js ist eine sehr beliebte JavaScript-Laufzeitumgebung zum Erstellen serverseitiger Anwendungen und APIs. Cross-Origin Resource Sharing (CORS) ist eine wesentliche Funktion beim Erstellen von Webanwendungen oder der Entwicklung von JavaScript-Anwendungen auf Basis von RESTful-APIs. CORS ermöglicht es Browsern, Ressourcen von verschiedenen Domänennamen oder verschiedenen Ports anzufordern, ohne die domänenübergreifenden Details zu kennen oder einen Proxyserver zu verwenden. In diesem Artikel besprechen wir, wie Sie mithilfe von Node.js das Zulassen von Cross-Origin-Anfragen einrichten.
Cross-Origin Resource Sharing (CORS) ist ein Sicherheitsmechanismus in Webanwendungen, der es Webanwendungen ermöglicht, Ressourcen von unterschiedlichen Domänennamen, unterschiedlichen Ports oder unterschiedlichen Protokollen anzufordern und darauf zu reagieren. Beispielsweise müssen domänenübergreifende Anfragen verarbeitet werden, wenn JavaScript und AJAX verwendet werden, um Daten von einer Domäne an eine andere anzufordern. Aufgrund der Same-Origin-Richtlinie des Browsers erlauben Browser normalerweise keine Anfragen nach Ressourcen von anderen Domänen, was ein Sicherheitsrisiko darstellt.
In der Node.js-Umgebung können wir das CORS-Modul verwenden, um domänenübergreifende Anfragen zuzulassen. Das CORS-Modul stellt eine Middleware zur Verarbeitung domänenübergreifender Anforderungen bereit. Das Modul kann mit dem npm-Befehl installiert werden:
npm install cors
Nach der Installation können wir CORS in der Anwendung verwenden. Hier ist ein einfaches Beispiel:
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.get('/api/data', (req, res) => { // 处理 GET 请求 }); app.post('/api/data', (req, res) => { // 处理 POST 请求 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); });
Im obigen Beispiel haben wir Express- und CORS-Module eingeführt und CORS in der Express-Anwendung mithilfe der Anweisung app.use(cors())
aktiviert. Dadurch können Anfragen vom Typ GET, POST usw. aus jeder Quelle gestellt werden, ohne dass jede Anfrage einzeln bearbeitet werden muss. app.use(cors())
语句在 Express 应用程序中启用 CORS。这允许从任何来源发起 GET、POST 等类型的请求,而不需要对每个请求进行单独处理。
如果需要更多的控制权和灵活性,我们可以使用 CORS 模块提供的配置选项。以下是一些常用的高级设置:
*
,即所有来源均可。'GET,HEAD,PUT,PATCH,POST,DELETE'
。以下是一些示例:
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors({ origin: 'http://localhost:8080', methods: ['GET', 'POST'], allowedHeaders: ['Content-Type', 'Authorization'], exposedHeaders: ['Content-Length', 'X-Foo', 'X-Bar'], credentials: true, maxAge: 86400, preflightContinue: false })); app.get('/api/data', (req, res) => { // 处理 GET 请求 }); app.post('/api/data', (req, res) => { // 处理 POST 请求 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); });
在以上示例中,我们使用了 cors()
origin: Geben Sie die zulässigen Anforderungsquellen an. Der Standardwert ist *
, d. h. alle Quellen sind akzeptabel.
'GET,HEAD,PUT,PATCH,POST,DELETE'
. 🎜🎜allowedHeaders: Geben Sie das zulässige Anforderungsheader-Array an. Der Standardwert ist ein leeres Array, d. h. alle Anforderungsheader sind akzeptabel. 🎜🎜exposedHeaders: Geben Sie das Array der Antwortheader an, die dem Client angezeigt werden. Der Standardwert ist ein leeres Array. 🎜🎜Anmeldeinformationen: Geben Sie an, dass der Empfang domänenübergreifender Cookies zugelassen werden soll. Der Standardwert ist „false“. 🎜🎜maxAge: Gibt die Gültigkeitsdauer (in Sekunden) der Preflight-Anfrage an, der Standardwert ist 86400 (d. h. ein Tag). 🎜🎜preflightContinue: Gibt an, ob mit der Verarbeitung von Preflight-Anfragen fortgefahren werden soll. Der Standardwert ist „false“. 🎜cors()
verwendet, um die zulässigen Anforderungsquellen anzugeben, den Empfang domänenübergreifender Cookies zuzulassen usw . Diese Optionen können von Fall zu Fall festgelegt werden. 🎜🎜🎜Zusammenfassung🎜🎜🎜In diesem Artikel haben wir besprochen, wie man das Zulassen domänenübergreifender Anfragen mithilfe von Node.js einrichtet. CORS ist ein sehr wichtiger Sicherheitsmechanismus für Webanwendungen, der domänenübergreifende Anforderungen ermöglicht und so die Dateninteraktion zwischen Webanwendungen einfacher und sicherer macht. Beim Erstellen von Anwendungen mit Node.js können wir das CORS-Modul verwenden, um ursprungsübergreifende Anforderungen einfach zu verarbeiten. 🎜Das obige ist der detaillierte Inhalt vonSo richten Sie das Zulassen domänenübergreifender Anfragen mithilfe von Node.js ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!