设置CORS头
时间: 2023-07-27 14:11:12 浏览: 156
在各种服务器(nginx,apache,tomcat)上设置CORS跨域设置.zip
5星 · 资源好评率100%
CORS(Cross-Origin Resource Sharing)是一个用于跨域访问的机制,当浏览器发现请求的资源跨域时,会发送一个跨域请求,此时服务器需要设置CORS头来允许跨域访问。
在服务器端,可以通过设置HTTP响应头来允许跨域访问,常见的CORS头有以下几种:
1. Access-Control-Allow-Origin:允许跨域访问的域名,可以是单个域名、多个域名或通配符(*)。
2. Access-Control-Allow-Methods:允许跨域访问的HTTP方法,例如GET、POST等。
3. Access-Control-Max-Age:CORS预检请求的有效期,单位为秒。
4. Access-Control-Allow-Headers:允许跨域访问的HTTP头部,例如Content-Type、Authorization等。
以下是一个示例代码,演示如何在Node.js中设置CORS头:
```javascript
const express = require('express');
const app = express();
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.get('/', function(req, res) {
res.send('Hello World!');
});
app.listen(3000, function() {
console.log('Example app listening on port 3000!');
});
```
在上述代码中,通过调用`res.setHeader()`方法来设置CORS头。其中,`Access-Control-Allow-Origin`设置为`*`表示允许任何域名跨域访问,`Access-Control-Allow-Methods`设置为常见的HTTP方法,`Access-Control-Allow-Headers`设置为常见的HTTP头部。最后,通过`next()`方法将请求转发给下一个中间件。
阅读全文