17

是否可以区分直接来自浏览器中 URL 的请求与从远程网页调用的资源之间的区别?

例如,当有人在网络浏览器中直接访问我的 URL(在http://mywebsite.com中输入)时,我想提供一个网页,但是当用户通过来自单独域的 URL 调用我的应用程序上的资源时(like <img src='http://mywebsite.com' />) 那么我想提供不同的内容。

我查看了请求和标头,但无论

4

2 回答 2

26

我认为您正在寻找referer.request.header

所以简单的版本看起来像这样:

http.createServer(function (req, res) {
  var ref = req.headers.referer;

  if(ref) {
    // serve special content
  }
  else {
    // serve regular homepage
  }
}).listen(1337, '127.0.0.1');

编辑了答案以反映下面 anu 的输入 - 它应该是referer

于 2012-08-09T05:48:46.117 回答
8

在中间件中你必须使用这种方式“req.headers.origin”

app.use(function(req, res, next) {
    //var origin=req.headers.origin
    next();
});
于 2015-03-31T20:32:35.183 回答