默认情况下,似乎在我的节点服务器上启用了Cors。我错过了什么吗?

时间:2017-07-29 13:59:35

标签: javascript node.js express cors

所以我有一个非常基本的节点和快速服务器,如下所示。没有中间件或任何东西,但我仍然可以记录来自axios的响应google.com。这不应该导致cors错误导致我不得不使用中间件或设置服务器来发出跨源请求吗?关于CORS还有一点不清楚,任何澄清都非常感激。谢谢!

var express = require('express');
var app = express();
var axios = require('axios');

app.on('listening', () => {
    axios.get('https://google.com')
    .then(response => console.log(response.data));
});

app.get('*', function(request, response){
  response.sendfile('./dist/index.html');
});

app.use(function(err, req, res, next) {
  if (err) {
      res.status(500).send(err);
      console.log(err.message);
  }
  next();
});

app.listen(process.env.PORT || 3000, () => {
    app.emit('listening');
    console.log('listening on 3000');
});

1 个答案:

答案 0 :(得分:2)

CORS是一个浏览器的东西。它不适用于服务器端代码(在Node,PHP,Java等中)。来自the spec

  

本文档定义了一种启用客户端跨源请求的机制。

以后

  

用户代理通常对网络请求应用同源限制。这些限制阻止从一个源运行的客户端Web应用程序获取从另一个源检索的数据,并且还限制可以自动启动到不同于正在运行的应用程序源的目标的不安全HTTP请求。 / p>

(我的重点)