IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

浏览器中丢失referrer和HTTPS=>HTTP丢失referer的解决:基于会话的站内来源地址URL还原

车东 2020-02-01 14:50:59 累计浏览 1,902 次
本机暂存

     Referer丢了会导致很多来源分析就做不了了,以前referer丢失来源有三种:

0 代码因素:一些js构造链接打开的模式会造成referer丢失,解决方法是尽量避免windows.open meta refresh等;

1 代码+浏览器因素:meta js打开新窗口 部分浏览器会丢失

2 协议因素:https协议降级http,解决的方法是靠https端增加声明,比如:通过meta的方式:referer meta

<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">

目前搜索引擎https后的页面:Google用的是orgin 百度用的always或者通过http header的方式,总体来说,这些问题是可以通过代码修复的。现在有多了几种:主要来自多核浏览器使用率的增加。

3 多核浏览器切换内核/隐私浏览模式,部分第三方浏览器版本会丢referer,360支持renderer 标签,可以强制使用某种内核进行页面渲染,比如:webkit。

4 浏览器的各种鼠标手势等高级功能,会丢失referer,

5 来自移动app:微信 微博的点击;      从实际的项目来看,需要修补referer丢失的环节太多,开发测试量也很大(尤其加上浏览器因素后),更简单的方法是需要通过服务端设置会话cookie,然后通过日志分析系统:跟踪同一个cookie的访问路径进行完整路径的模拟还原。  

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,897)
  2. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,446)
  3. HTTPS, SPDY和 HTTP/2性能的简单对比 (累计阅读 17,439)
  4. 你必须了解的Session的本质 (累计阅读 11,442)
  5. 前端要给力之:URL应该有多长? (累计阅读 8,171)
  6. 你会做Web上的用户登录功能吗? (累计阅读 6,376)
  7. HTTPS的七个误解 (累计阅读 5,888)
  8. HTTPS、SSL与数字证书介绍 (累计阅读 5,428)
  9. 关于session和memcache的若干问题 (累计阅读 5,331)
  10. 如何设置一个严格30分钟过期的Session (累计阅读 5,202)