跨源资源共享(CORS)是一种机制,它允许或限制浏览器向不同的源请求资源。以下是 CORS 的一些基本概念和设置方法。
基本概念
- 简单请求:不发送额外头部信息的请求,例如 GET、POST、HEAD 方法,且请求头中不包含自定义头部。
- 预检请求:浏览器在发起实际请求前,会先发送一个预检请求(OPTIONS 方法),询问服务器是否允许该请求。
设置 CORS
在服务器端,可以通过以下方式设置 CORS:
在响应头中添加
Access-Control-Allow-Origin
字段,指定允许访问的源。- 例如:
Access-Control-Allow-Origin: *
允许所有源访问。 - 或者:
Access-Control-Allow-Origin: https://example.com
仅允许指定源访问。
- 例如:
添加其他响应头,例如:
Access-Control-Allow-Methods
:允许的 HTTP 方法。Access-Control-Allow-Headers
:允许的自定义头部。
示例
假设我们有一个 API 接口 https://api.example.com/data
,我们可以这样设置 CORS:
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "https://example.com");
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
next();
});
扩展阅读
更多关于 CORS 的信息,请访问 CORS 教程。
CORS 图片