CORS头如何设置来允许特定的跨域请求?
时间: 2024-10-04 13:02:57 浏览: 48
CORS(Cross-Origin Resource Sharing,跨源资源共享)通过HTTP头部来控制浏览器是否允许来自特定源的请求。要在服务端设置CORS头,需要在响应中添加`Access-Control-Allow-Origin`字段,其值通常是请求来源的URL。例如,如果你希望允许所有来源的请求,可以设置为`*`;如果你只允许特定的源(例如http://example.com),则应设置为`http://example.com`。
设置示例(Node.js express为例):
```javascript
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*'); // 允许所有源
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
if (req.method === 'OPTIONS') { // 对于预检请求(Preflight)
res.send(204);
} else {
next();
}
});
```
注意,除了`Access-Control-Allow-Origin`,还需要设置`Access-Control-Allow-Methods`和`Access-Control-Allow-Headers`,以告知客户端哪些HTTP方法和头部信息是被允许的。
阅读全文