Referrer

referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面。通过这个信息,我们可以知道访客是怎么来到当前页面的。这对于Web Analytics非常重要,可以用于分析不同渠道流量分布、用户搜索的关键词等。

但是,这个字段同时会造成用户敏感信息泄漏(如:带有敏感信息的重置密码URL,若被Web Analytics收集,则存在密码被重置的危险)。

Referrer Policy States

新的Referrer规定了五种策略:

  • No Referrer:任何情况下都不发送Referrer信息
  • No Referrer When Downgrade:仅当协议降级(如HTTPS页面引入HTTP资源)时不发送Referrer信息。是大部分浏览器默认策略。
  • Origin Only:发送只包含host部分的referrer.
  • Origin When Cross-origin:仅在发生跨域访问时发送只包含host的Referer,同域下还是完整的。与Origin Only的区别是多判断了是否Cross-origin。协议、域名和端口都一致,浏览器才认为是同域。
  • Unsafe URL:全部都发送Referrer信息。最宽松最不安全的策略。

referrer具体设置

CSP响应头

CSP(Content Security Policy)

Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;

指令和指令值之间以空格分割,多个指令之间用英文分号分割。

标签

html页面的meta标签指定。

如果content属性不是合法的取值,浏览器会自动选择no-referer策略。

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

标签的referer属性

  • 作用的只是当前标签。
  • 策略只有三中:不传、只host、都传(即完整URL)。
  • 针对单个链接设置的策略优先级比CSP和要高。
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>

PS:

题外话:楼主之前使用CNZZ进行站长统计,7月份开始,单个页面的访问统计失效,全部归入首页。今天终于明白,应该是博客园增加了referrer policy导致。

HTTP的Referrer和Referrer Policy设置的更多相关文章

  1. HTTP Referrer和Referrer Policy 设置

    referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面.通过这个信息,我们可以知道访客是怎么来到当前页面的.这对于Web Analytics非常重要,可以用于分析不同渠道流 ...

  2. Loadrunner - Controller - policy - 设置集合点策略

    控制器中设置集合点策略                                                        我们在Virtual User Generator 中回放脚本无法 ...

  3. 移动端返回上一页,刚需!document.referrer 详解

    返回上一页,在PC端我们可以使用:history.go(-1)或者history.back(),可以正常返回第一层.这样,我们不需要上一页的 url 具体是什么,只要使用 history 一般都没啥问 ...

  4. flask 重定向到上一个页面,referrer、next参数

    重定向会上一个页面 在某些场景下,我们需要在用户访问某个url后重定向会上一个页面,比如用户点击某个需要登录才能访问的连接,这时程序会重定向到登录页面,当用户登录后比较合理的行为是重定向到用户登录前浏 ...

  5. document.referrer和history.go(-1)退回上一页区别

    javascript:location=document.referrer;和javascript:history.go(-1);区别: 返回上一页,在PC端我们可以使用:history.go(-1) ...

  6. http协议 头部字段 referrer

    学习笔记,非原创,抄自:https://www.cnblogs.com/amyzhu/p/9716493.html:https://blog.csdn.net/java_zhangshuai/arti ...

  7. document.referrer之隐藏来源

    document.referrer document.referrer是用来获取跳转链接的来源,正规的解释是:referrer 属性可返回载入当前文档的文档的 URL. 实际中使用在广告相关业务中较多 ...

  8. 设置高级的Logstash 管道

    设置高级的Logstash 管道: 一个Logstash 管道在很多实用例子有一个或者多个输入,filter,和output 插件. 本节中 创建Logstash 配置文件来指定那些插件和讨论每个插件 ...

  9. js设置自动刷新

    如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet])   参数: bForceGet, ...

随机推荐

  1. NFS客户端挂载

    关于NFS挂载#卸载: umount -fl /挂载名称#重新挂载:mount -t nfs -o rw,noac 10.8.16.11:/vx/SJOA-APP /挂载名称 #mount –v查看当 ...

  2. [git与github]__git与github简单了解

    前言 关于版本控制,版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 我们通过版本控制系统可以解决的问题:可以非常方便的查看我们的源码文件的历代更新版本.或将我们的项目源 ...

  3. 通过反编译深入理解Java String及intern

    一.字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究.倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题.我在招聘的时候也偶尔会 ...

  4. SpringCloud学习1-服务注册与发现(Eureka)

    由于样式兼容性问题,本文后半部分被截断,可到个人博客找到本文: https://blog.rmiao.top/springcloud-eureka/ 前言 Oracle转让Java,各种动态语言的曝光 ...

  5. spring-session-data-redis解决session共享的问题

    分布式系统要做到用户友好,需要对用户的session进行存储,存储的方式有以下几种: 本地缓存 数据库 文件 缓存服务器 可以看一些不同方案的优缺点 1.本地机器或者本地缓存.优点:速度快  缺点:服 ...

  6. 记一次安装Nginx+php-fpm安装后无法解析.php文件,状态码200,但显示空白页

    安装环境: Nginx:Nginx1.12.2 PHP:PHP 7.2 系统:CentOS 7.4 安装方式: Nginx与PHP都是yum安装的,具体步骤: 1.安装epel源再安装Nginx: r ...

  7. 解决SharePoint 2010拒绝访问爬网内容源错误

    今天发现SP爬网出现了问题,持续时间蛮长的,一直爬不到内容. 解决方案: 这里有一条解决在SharePoint 2010搜索爬网时遇到的"拒绝访问错误"的小技巧. 首先要检查默认内 ...

  8. 作用域public、private、protected、以及不写时的区别?

    区别如下: 作用域 当前类 同包 子孙类 其他 public     √ √ √ √ protected   √ √ √ X default    √  √ X X private    √  X X ...

  9. 如何对付运行时可能为 null 的 Record Type

    在 F# 中,Record Type 是无法表达 null 语义的,例如,一个 Record 变量不能够使用 null 字面量赋值,接收 nullable(这里并不是指 BCL 中的 Nullable ...

  10. Transformation和Action

    spark的运算操作有两种类型:分别是Transformation和Action,区别如下:   Transformation:代表的是转化操作就是我们的计算流程,返回是RDD[T],可以是一个链式的 ...