浏览器中丢失referrer和HTTPS=>HTTP丢失referer的解决:基于会话的站内来源地址URL还原
Referer丢了会导致很多来源分析就做不了了,以前referer丢失来源有三种: 0 代码因素:一些js构造链接打开的模式会造成referer丢失,解决方法是尽量避免windows.open meta refresh等; 1 代码+浏览器因素:meta js打开新窗口 部分浏览器会丢失 2 协议因素:https协议降级http,解决的方法是靠https端增加声明,比如:通过meta的方式:referer meta
现在有多了几种:主要来自多核浏览器使用率的增加。 3 多核浏览器切换内核/隐私浏览模式,部分第三方浏览器版本会丢referer,360支持renderer 标签,可以强制使用某种内核进行页面渲染,比如:webkit。 4 浏览器的各种鼠标手势等高级功能,会丢失referer, 5 来自移动app:微信 微博的点击;
从实际的项目来看,需要修补referer丢失的环节太多,开发测试量也很大(尤其加上浏览器因素后),更简单的方法是需要通过服务端设置会话cookie,然后通过日志分析系统:跟踪同一个cookie的访问路径进行完整路径的模拟还原。