学习笔记,非原创,抄自:https://www.cnblogs.com/amyzhu/p/9716493.html;https://blog.csdn.net/java_zhangshuai/article/details/81627365
http协议中的referrer头部字段,它的作用是可以显示访客是如何来到这个页面的,当浏览器向服务器发起请求时,一般会带上这个字段,服务器通过这个字段,就可以知道采访者是通过什么渠道进入页面发起请求的。
好处:web analytics可以对这个字段进行分析,得出页面不同渠道的流量发布和用户的搜索关键字
坏处:造成信息泄露,如密码
取值
1、Unsafe URl:什么情况都发送referrer,最宽松最不安全的选项
2、No Referrer:什么情况都不发送referrer
3、Origin Only:只发送host部分
4、No Referrer When Downgrade:当协议从https降级到http时不发送referrer
5、Origin When Cross-origin:跨域情况只发送host部分
js获取referrer
document.referrer
设置referrer
1、响应头
Content-Security-Policy:referrer referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;
2、matas
<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">
3、标签
只有三种取值,都传、不传、host部分,而且优先级高于响应头和mata设置。
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>