技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 浏览器中丢失referrer和HTTPS=>HTTP丢失referer的解决:基于会话的站内来源地址URL还原

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

浏览:796次  出处信息

     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. 浏览器的工作原理:新式网络浏览器幕后揭秘    (阅读:19512)
  2. 浅析http协议、cookies和session机制、浏览器缓存    (阅读:15757)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情?    (阅读:14460)
  4. 程序员眼里IE浏览器是什么样的    (阅读:6818)
  5. 浏览器的渲染原理简介    (阅读:6362)
  6. 各种浏览器审查、监听http头工具介绍    (阅读:6214)
  7. 图说浏览器战争:火狐、微软、谷歌那些事    (阅读:6048)
  8. 浏览器缓存机制    (阅读:5752)
  9. [译]Google Chrome中的高性能网络    (阅读:5094)
  10. 12款很棒的浏览器兼容性测试工具推荐    (阅读:4843)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1