什么是Referer
Referer是HTTP Header的一部分,当浏览器向Web服务器发送请求时,一般会带上Referer,告知服务器从哪个页面链接过来的。
Referer的作用
-
防盗链。比如,网站访问自己的图片服务器,图片服务器取到Referer来判断是不是自己的域名,如果是就继续访问,不是则拦截。
-
数据统计。比如,统计用户是从哪里链接过来访问的。
什么是空Referer
空Referer指的是HTTP请求中Referer头部内容为空,或者HTTP请求中不包含Referer头部。有两种情况Referer为空,如下所示。
-
当请求并不是由链接触发产生。比如,直接把地址输入地址栏里打开页面。
-
从HTTPS页面上的链接访问到非加密的HTTP页面时,在HTTP页面上是检查不到Referer的。
在防盗链设置中允许空Referer和不允许空Referer的区别
在防盗链的白名单设置中,如果指明白名单中包含空的Referer,那么通过浏览器地址栏直接访问该资源URL是可以访问到的。但如果不指明需要包含空的Referer,那么通过浏览器直接访问是被禁止的。
什么是跨域
在日常的项目开发时会不可避免的需要进行跨域操作,而在实际进行跨域请求时,经常会遇到类似 No 'Access-Control-Allow-Origin' header is present on the requested resource.
这样的报错。这类错误一般是由于CORS跨域验证机制设置不正确导致的。
参考文章:
https://www.jianshu.com/p/91bf4e276210