设置referrer的作用是,跳出到站外域名时,是否携带原站网址给站外网站,默认浏览器是携带网址的到站外网站的,所以默认站外网站是可以追踪到来路网站,但可以通过设置关闭它(引用源)。
添加代码
//所有请求不发送
<meta name="referrer" content="no-referrer">
//同源的请求,会发送referrer
<meta name="referrer" content="same-origin">
参考文档:https://www.w3.org/TR/2017/CR-referrer-policy-20170126/#referrer-policies
enum ReferrerPolicy {
"",
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
};
空字符串
no-referrer
所有请求不发送 referrerno-referrer-when-downgrade
默认值,当https到http的请求不会发送referrersame-origin
同源的请求,会发送referrerorigin
会发送,但是只发送协议和域名信息strict-origin
会发送,但是只发送协议和域名信息,当https到http的请求不会发送referrerorigin-when-cross-origin
同源的请求,会发送referrer,不同源的情况下,只发送协议和域名信息strict-origin-when-cross-origin
同源的请求,会发送referrer,https到http的请求不会发送referrer,其他时候只发送源信息unsafe-url
任何时候都发送referrer可以有以下4种方法:
Referrer-Policy: origin
<meta>
元素改变Referrer Policy,直接修改名为referrer的内容 <meta name="referrer" content="origin">
<a>
, <area>
, <img>
, <iframe>
, 或者<link>
元素设置referrerpolicy属性 <a href="http://example.com" referrerpolicy="origin">
<a>
, <area>
, <link>
元素设置rel的链接关系 <a href="http://example.com" rel="noreferrer">
<meta name="referrer" content="no-referrer">
时,百度统计、cnzz等统计将会会导致失效。<meta name="referrer" content="no-referrer">
,避免下游来路追踪。