Node - Сообщить о происхождении запроса
Можно ли отличить запрос от прямого URL-адреса в браузере и ресурса, вызываемого с удаленной веб-страницы?
Например, я хотел бы обслуживать веб-страницу, когда кто-то напрямую посещает мой URL-адрес (типы http://mywebsite.com) в веб-браузере, но когда пользователь вызывает ресурс в моем приложении через URL из отдельного домена (например, <img src='http://mywebsite.com' />
), я хотел бы обслуживать разные контенты.
Я просмотрел запрос и в заголовках, но он выглядит одинаково независимо от
Ответы
Ответ 1
Я думаю, что вы ищете строку 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
Ответ 2
В промежуточном программном обеспечении вы должны использовать этот способ "req.headers.origin"
app.use(function(req, res, next) {
//var origin=req.headers.origin
next();
});