<meta name=“referrer“ content=“never“>简介
作用:控制页面发送给 server 的 referer 信息在 HTML 代码的 head 中添加一句<meta name="referrer" content="no-referrer"/>referrer 的值空字符串no-referrerno-referrer-when-downgradesame-originoriginstrict-originorigin-when-cros
·
作用:控制页面发送给 server 的 referer 信息
在 HTML 代码的 head 中添加一句
<meta name="referrer" content="no-referrer"/>
referrer 的值
- 空字符串
- no-referrer
- no-referrer-when-downgrade
- same-origin
- origin
- strict-origin
- origin-when-cross-origin
- strict-origin-when-cross-origin
- unsafe-url
- 默认值: 一般浏览器的默认值是 no-referrer-when-downgrade
- no-referrer: 所有请求不发送 referrer
- no-referrer-when-downgrade: 当请求安全级别下降时不发送 referrer。目前,只有一种情况会发生安全级别下降,即从 HTTPS 到 HTTP。HTTPS 到 HTTP 的资源引用和链接跳转都不会发送 referrer。
- same-origin:对于同源的链接和引用,会发送referrer,其他的不会。
- origin:会发送 referrer,但只会发送源信息。源信息包括访问协议和域名。
- strict-origin:这个相当于 origin 和 no-referrer-when-downgrade 的 AND 合体。即在安全级别下降时不发送 referrer;安全级别未下降时发送源信息。
注意:这个是新加的标准,有些浏览器可能还不支持。
- origin-when-cross-origin:这个相当于 origin 和 same-origin 的 OR 合体。同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息。
- strict-origin-when-cross-origin:这个比较复杂,同源的链接和引用,会发送 referrer。安全级别下降时不发送 referrer。其它情况下发送源信息。
注意:这个是新加的标准,有些浏览器可能还不支持。
- unsafe-url:无论是否发生协议降级,无论是本站链接还是站外链接,统统都发送 Referrer 信息。正如其名,这是最宽松而最不安全的策略。
或者
<meta name="referrer" content="never">
注意:此方法会破坏浏览器原有的 referer 策略,所有从包含了上面标签的页面中发起的请求将不会携带referer。慎用!
参数
referer 的 metedata 属性可设置content属性值为以下集合:
- never
- always
- origin
结果
- 如果referer-policy的值为never:删除http head中的referer;
- 如果referer-policy的值为default:如果当前页面使用的是https协议,而正要加载资源使用的是普通的http协议,则将http header中额referer置为空;
- 如果referer-policy的值origin:只发送origin部分;
- 如果referer-policy的值为always:不改变http header中的referer的值;
举例
如果页面中包含了如下 meta 标签,所有从当前页面中发起的请求将不会携带 referer:<meta name="referrer" content="never">
如果页面中包含了如下 meta 标签,则从当前页面中发起的 http请求将只携带 origin 部分:<meta name="referrer" content="origin">
更多推荐
已为社区贡献4条内容
所有评论(0)