如何在后端获取“HTTP_REFERER”?
发布于 3年前 作者 kjkjkljkj 1804 次浏览

如题。。

10 回复

不熟… 我觉得 request.headers 里面会有,
话说, 楼主的分数怎么在么古怪啊? 楼主为什么@ 这么多人?

为啥 楼主右侧的数据都是负数 BUG了? @muyuan

好吧,req.headers.referer在express里才成功,在nodejs的request里得不到,看了下express的源码:

req.header = function(name, defaultValue){
  switch (name = name.toLowerCase()) {
    case 'referer':
    case 'referrer':
      return this.headers.referrer
        || this.headers.referer
        || defaultValue;
    default:
      return this.headers[name] || defaultValue;
  }
};

下班了,回去再研究下

我刚才 console.log req.headers 看过, referer: 从链接过去的时候是有的.

HTTP_REFERER 是客户端(浏览器)在请求的时候带上的一个 http header ,浏览器并不一直带着这个头信息,比如你在地址栏直接输入地址并回车,这个情况是不会带着前一个浏览网页的地址。

从一个网页 链接到 另一个网页的时候,才有会这个referer

node中, req.headers 里面有个这个header属性,打印出来就看到了

@jiyinyiyong soga,我都没用过这玩意儿

感谢楼上各位的解答。。

@BlueDream 负数是因为nodeclucb前端对关注/收藏等动作没有做延时,后端在修改count的时候也没有用$inc,如果快速连续点击关注/收藏按钮就会出现数值不正确的情况

回到顶部