HTTP中的Referrer-Policy响应头


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/05/06/HTTP%E4%B8%AD%E7%9A%84Referrer-Policy%E5%93%8D%E5%BA%94%E5%A4%B4/

摘要

本文主要讲述了:

  1. 作用
  2. 取值范围

正文

作用

告诉用户代理怎样处理Referer请求头

示例:

1
Referrer-Policy: no-referrer

Referrer-Policy支持设置多个值,以便于在部分值不被用户代理支持时进行优雅降级(从右到左)

示例:当same-origin不被支持时,使用no-referrer

1
Referrer-Policy: no-referrer, same-origin

页面级

页面级表示该配置仅适用于当前 HTML 页面。

也可以使用<meta>来配置

示例:

1
<meta name="referrer" content="no-referrer" />

referrer支持设置多个值,以便于在部分值不被用户代理支持时进行优雅降级(从右到左)

示例:当same-origin不被支持时,使用no-referrer

1
<meta name="referrer" content="no-referrer, same-origin" />

元素级

元素级表示该配置仅适用于当前元素。

示例:

1
<a referrerpolicy="no-referrer"></a>

注意:referrerpolicy不支持设置多个值。

此外,no-referrer也可以这样设置:

1
<a rel="noreferrer"></a>

取值范围

  • no-referrer 全省略
  • no-referrer-when-downgrade 协议的安全级别降低时全省略,即 HTTPS -> HTTP
  • strict-origin 协议的安全级别相等时仅发送源,不等时全省略
  • origin 仅发送源
  • same-origin 同源时全发送,跨源时全省略
  • strict-origin-when-cross-origin 同源时全发送,跨源时协议的安全级别相等时仅发送源,不等时全省略
  • origin-when-cross-origin 同源时全发送,跨源时只发送源
  • unsafe-url 全发送

默认值为no-referrer-when-downgrade

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/05/06/HTTP%E4%B8%AD%E7%9A%84Referrer-Policy%E5%93%8D%E5%BA%94%E5%A4%B4/


本文对你有帮助?请支持我


支付宝
微信