是否可以区分直接来自浏览器中 URL 的请求与从远程网页调用的资源之间的区别?
例如,当有人在网络浏览器中直接访问我的 URL(在http://mywebsite.com中输入)时,我想提供一个网页,但是当用户通过来自单独域的 URL 调用我的应用程序上的资源时(like <img src='http://mywebsite.com' />
) 那么我想提供不同的内容。
我查看了请求和标头,但无论
是否可以区分直接来自浏览器中 URL 的请求与从远程网页调用的资源之间的区别?
例如,当有人在网络浏览器中直接访问我的 URL(在http://mywebsite.com中输入)时,我想提供一个网页,但是当用户通过来自单独域的 URL 调用我的应用程序上的资源时(like <img src='http://mywebsite.com' />
) 那么我想提供不同的内容。
我查看了请求和标头,但无论
我认为您正在寻找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
在中间件中你必须使用这种方式“req.headers.origin”
app.use(function(req, res, next) {
//var origin=req.headers.origin
next();
});