Node.js ialah persekitaran masa jalan JavaScript yang sangat popular untuk membina aplikasi dan API sebelah pelayan. Perkongsian Sumber Silang Asal (CORS) ialah ciri penting semasa membina aplikasi web atau membangunkan aplikasi JavaScript berdasarkan API RESTful. CORS membenarkan pelayar meminta sumber daripada nama domain yang berbeza atau port yang berbeza tanpa mengetahui butiran merentas domain atau menggunakan pelayan proksi. Dalam artikel ini, kita akan membincangkan cara menyediakan permintaan silang asal menggunakan Node.js.
Perkongsian sumber silang asal (CORS) ialah mekanisme keselamatan dalam aplikasi web yang membolehkan aplikasi web meminta dan membalas sumber daripada nama domain yang berbeza, port yang berbeza atau protokol yang berbeza. Sebagai contoh, permintaan merentas domain mesti dikendalikan apabila menggunakan JavaScript dan AJAX untuk meminta data dari satu domain ke domain yang lain. Disebabkan dasar asal yang sama penyemak imbas, penyemak imbas biasanya tidak membenarkan permintaan untuk sumber daripada domain lain, yang merupakan risiko keselamatan.
Dalam persekitaran Node.js, kami boleh menggunakan modul CORS untuk menyediakan untuk membenarkan merentas domain permintaan. Modul CORS menyediakan perisian tengah untuk mengendalikan permintaan merentas domain, yang boleh dipasang menggunakan arahan npm:
npm install cors
Selepas pemasangan, kami boleh menggunakan CORS dalam aplikasi kami. Berikut ialah contoh mudah:
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'); });
Dalam contoh di atas, kami telah memperkenalkan modul Express dan CORS dan mendayakan CORS dalam aplikasi Express menggunakan pernyataan app.use(cors())
. Ini membolehkan GET, POST, dsb. jenis permintaan dibuat daripada mana-mana sumber tanpa memerlukan setiap permintaan dikendalikan secara individu.
Jika anda memerlukan lebih kawalan dan fleksibiliti, kami boleh menggunakan pilihan konfigurasi yang disediakan oleh modul CORS. Berikut ialah beberapa tetapan lanjutan yang biasa digunakan:
*
, iaitu semua sumber boleh diterima. 'GET,HEAD,PUT,PATCH,POST,DELETE'
. Berikut ialah beberapa contoh:
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'); });
Dalam contoh di atas, kami menggunakan pilihan konfigurasi cors()
untuk menentukan sumber permintaan yang dibenarkan, membenarkan menerima kuki merentas domain, dan lain-lain. Pilihan ini boleh ditetapkan berdasarkan kes demi kes.
Dalam artikel ini, kami membincangkan cara menyediakan membenarkan permintaan merentas domain menggunakan Node.js. CORS ialah mekanisme keselamatan aplikasi web yang sangat penting yang membenarkan permintaan merentas domain, menjadikan interaksi data antara aplikasi web lebih mudah dan selamat. Apabila membina aplikasi menggunakan Node.js, kami boleh menggunakan modul CORS untuk mengendalikan permintaan silang asal dengan mudah.
Atas ialah kandungan terperinci Cara menyediakan membenarkan permintaan merentas domain menggunakan Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!