页面请求中没有referrer信息的几种情况

来源:互联网 发布:赛亚人网络 编辑:程序博客网 时间:2024/06/06 00:21

在流量监测中,访客的来源信息是一个很重要的信息,包括访客的访前链接,以及搜索关键词。在HTTP请求中有一个referrer标签,用来指明当前流量的来源参考页。例如在http://www.bitauto.com/上点击一个链接到达www.taoche.com首页,那么就referrer就是http://www.bitauto.com/了。在Javascript中,我们可以通过document.referrer来获取同样的信息。通过这个信息,我们就可以知道访客是从什么渠道来到当前页面的。这对于网站分析来说,是非常重要的,这可以告诉我们不同渠道带来的流量的分布情况,还有用户搜索的关键词等,都是通过分析这个referrer信息来获取的。

用心发现,你会看到很多情况,我们看不到页面请求的referrer信息。注一下,我们平时可以通过httpwatch插件、firebox bug插件以及Google开发人员工具可以看到页面请求信息。
请求中丢失Referrer信息的几种场景:
1.直接流量
访客是通过直接键入地址,进入网页的,这种情况产生的流量属于直接流量,直接流量的请求中没有referrer信息的。诸如此类的还有,点击收藏夹地址、以及点击即时通讯工具地址等。
2.鼠标拖拽打开新窗口,这是网友说的,本人木有遇到过。
鼠标拖拽是现在非常流行的用户习惯,很多浏览器都内置或者可以通过插件的方式来支持鼠标拖拽式浏览。但是通过这种方式打开的页面,基本全都丢失referrer。并且,这种情况下,也无法使用window.opener的方式去获取丢失的referrer了。
已测试:Maxthon2.5.2,Firefox的FireGesture插件,Chrome3.0+,Opera9.6,Safari3.2。
3.点击Flash内部链接
这种情况多在投放广告的时候遇到,如果投放的falsh广告到的本站的话,通过访前链接查询流量就是非常不准确的了。这种情况,建议用参数的形式,如falsh着陆页为www.taoche.com/?ad_ref=1,利用参数定义来源。
击Flash上到达另外一个网站的时候,Referrer的情况就比较杂乱。不同浏览器又分为几种情况:
IE下,通过客户端Javascript的document.referrer读取到的值是空的,但是如果你使用流量监控软件看一下的话,你会发现,实际上HTTP请求中的Referer报文头却是有值的,这可能是IE实现的Bug。同时,这个值指向的是Flash文件的地址,而不是来源网页的地址。
Chrome4.0下点击Flash到达新窗口之后,Referrer也是指向的Flash文件的地址,而不是源网页的地址。
Chrome3.0和Safari3.2是一样的,都是会丢失Referrer信息。
Opera则和Firefox一样,Referrer的值都是来源网页的地址。
4.HTTPS跳转到HTTP
从HTTPS的网站跳转到HTTP的网站时,浏览器是不会发送referrer的。这个各大浏览器的行为是一样的。
例如,我们在HTTPS下使用Google Reader或是Gmail的时候,点击某个链接去到另外一个网站,那么从技术上来说,这样的访问和用户直接键入网址访问是没有什么分别的。
Referrer信息的丢失使得本来就是相对准确的流量数据更加不可琢磨了,也各我们的广告流量监测带来困扰,特别是IE是目前市场份额最大的浏览器,因此其影响是很大的。很多流量统计工具会因此将这部分流量归入“直接流量”,和用户直接键入网址等价了。

原创粉丝点击