节点 – 告诉请求的来源

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

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

我查看了请求和头文件,但看起来不pipe怎样

       

网上收集的解决方案 "节点 – 告诉请求的来源"

我想你正在寻找request.headerrefererstring。

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

 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的input – 应该是referer

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

 app.use(function(req, res, next) { //var origin=req.headers.origin next(); });