Chrome 85的Referrer-Policy调整对网站分析工具的影响
在正式讲解之前,我们先了解一些基础的知识:什么是Referral和Referrer-Policy?
什么是Referral
当一个用户点击一个链接调到另一个页面的时候,目标页面会收到一个信息,表示是从哪个链接跳转过来的,这个就是referral了,Referral的作用就是说明从哪个页面跳转过来的。
什么是Referrer-Policy
Referrer-Policy,中文叫引荐来源政策或叫Referral的策略,作用是控制Referral传递的内容,Referrer
网站请求中的标头中确切发送了哪些信息,取决于Referrer-Policy
的设置。常用的类型有:
-
Referrer-Policy: no-referrer——不显示
Referrer
的任何信息在请求头中。 -
Referrer-Policy: no-referrer-when-downgrade——这是默认值。当从https网站跳转到http网站或者请求其资源时(安全降级HTTPS→HTTP),不显示
Referrer
的信息,其他情况(安全同级HTTPS→HTTPS,或者HTTP→HTTP)则在Referrer
中显示完整的源网站的URL信息。 -
Referrer-Policy: origin——表示浏览器在
Referrer
字段中只显示源网站的源地址(即协议、域名、端口),而不包括完整的路径。 -
Referrer-Policy: origin-when-cross-origin——当发请求给同源网站时,浏览器会在
Referrer
中显示完整的URL信息,发个非同源网站时,则只显示源地址(协议、域名、端口) -
Referrer-Policy: same-origin——表示浏览器只会显示
Referrer
信息给同源网站,并且是完整的URL信息。所谓同源网站,是协议、域名、端口都相同的网站。 -
Referrer-Policy: strict-origin——该策略更为安全些,和
origin
策略相似,只是不允许Referrer
信息显示在从https网站到http网站的请求中(安全降级)。 -
Referrer-Policy: strict-origin-when-cross-origin——和
origin-when-cross-origin
相似,只是不允许Referrer
信息显示在从https网站到http网站的请求中(安全降级)。 -
Referrer-Policy: unsafe-url——浏览器总是会将完整的URL信息显示在
Referrer
字段中,无论请求发给任何网站。
若设为空串则默认no-referrer-when-downgrade
现在是采用no-referrer-when-downgrade,
也就是大部分情况下是可以显示完整的链接的。
Chrome 85的调整
Chrome在7月份底公布,Chrome 85对Referrer-Policy调整,默认由于no-referrer-when-downgrade
调整为strict-origin-when-cross-origin,测试版将于2020年7月发布,稳定版将于2020年8月发布。
同个主域之前是没有影响,但是不同主域之前的就是有影响,比如从A网站跳转到B网站的时候就有些不同的了。
调整前
调整前,Chrome浏览器默认策略的策略是no-referrer-when-downgrade
这时候Referral的传递是可以获取完整的URL。
调整后
调整后,Chrome浏览器默认策略的策略是strict-origin-when-cross-origin
只能获取到hostname主域了。
影响
如果网站有设置策略,则按网站的策略,如果没有设置则Chrome将strict-origin-when-cross-origin
默认使用 。
对一些依赖Referral分析的会有影响,如服务器日志分析、网站分析工具。如在没有使用UTM的时候,之前可以通过Referral知道这个流量来自于哪个网站的具体某个页面,但现在只能知道来源哪个网站。
参考
https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default
- Linux系统下yum镜像源环境部署记录
- 特斯拉vs凯迪拉克vs奔驰:三大汽车自动驾驶系统比拼
- Centos下添加静态路由(临时和永久有效)的操作记录
- python如何保证输入键入数字
- 微信小程序自定义数据分析试水
- 挂载银行前置机Ukey到windows server2012虚拟机的操作记录
- 文件上传速度查询方法
- “AS3.0高级动画编程”学习:第三章等角投影(上)
- su: 无法设置用户ID: 资源暂时不可用
- NumPY学习笔记
- LVS负载均衡下session共享的实现方式-持久化连接
- Centos6.9下RabbitMQ集群部署记录
- “AS3.0高级动画编程”学习:第三章等角投影(下)
- zabbix监控主机cpu达到80%后报警
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 关于加@Transactional注解的方法之间调用,事务是否生效的问题
- 基于Vue实现一个有点意思的拼拼乐小游戏
- 硬核手写字节码实现HelloWorld
- 由 go orm 引发的探索
- 为什么不建议在 for 循环里捕捉异常?
- 我就是想找个下标,怎么用到二分查找了?
- 利用Decorator和SourceMap优化JavaScript错误堆栈
- 【每日一题】43. Multiply Strings
- extjs 为组件动态添加插件
- logback使用异步输出日志
- 守护进程
- 使用go-zero快速构建支持高并发的微服务
- Semaphore加锁与释放流程
- ReentrantLock加锁与释放过程
- 使用vue-cli4快速搭建vue项目demo