什么是Referer
Referer
是HTTP Header的一部分,当浏览器向Web服务器发送请求时,一般会带上Referer,告诉服务器从哪个页面链接过来的。 Referer
其实应该是单词Referrer
,不过拼错的人太多了,编写标准的人也就将错就错了。
Referer的作用
- 防盗链。比如,网站访问自己的图片服务器,图片服务器取到Referer来判断是不是自己的域名,如果是就继续访问,不是则拦截。
- 数据统计。比如,统计用户是从哪里链接过来访问的。
Referer为空
空Referer指的是HTTP请求中Referer头部的内容为空,或者HTTP请求中不包含Referer头部。
下面两种情况Referer为空:
- 当请求并不是由链接触发产生。比如,直接把地址输入地址栏里打开页面;
- 从https页面上的链接访问到非加密的http页面时,在http页面上是检查不到Referer的。
在防盗链设置中,允许空Referer和不允许空Referer有什么区别呢?
在防盗链的白名单设置中,如果指名白名单中包含空的Referer,那么通过浏览器地址栏直接访问该资源URL是可以访问到的;
但如果不指名需要包含空的Referer,那么通过浏览器直接访问也是被禁止的。
OSS防盗链
OSS防盗链是通过Referer
来实现的,所以也简称为Refer
或r