CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种机制,它使用额外的 HTTP 头来告诉浏览器,让运行在一个源(域)上的 Web 应用被允许访问来自不同源服务器上的指定资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
CORS 主要有两种类型:
当你的前端应用需要从不同的域请求数据时,就需要配置 CORS。例如,你的前端应用托管在 https://example.com
,而你需要从 https://api.example.com
获取数据。
假设你使用 Node.js 和 Express 框架创建了一个服务器,以下是如何配置 CORS 的示例:
const express = require('express');
const cors = require('cors');
const app = express();
// 使用 cors 中间件
app.use(cors());
// 或者更细粒度的配置
const corsOptions = {
origin: 'https://example.com', // 允许的源
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', // 允许的方法
allowedHeaders: 'Content-Type,Authorization', // 允许的头信息
credentials: true, // 是否允许发送 cookies
};
app.use(cors(corsOptions));
app.get('/data', (req, res) => {
res.json({ message: 'This is CORS-enabled data.' });
});
const port = 3000;
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
Access-Control-Allow-Origin
、Access-Control-Allow-Methods
和 Access-Control-Allow-Headers
头信息。通过以上配置和示例代码,你应该能够在已创建的服务器上成功配置 CORS。
领取专属 10元无门槛券
手把手带您无忧上云