Referer 为何叫 Referer?它表明什么意思?在诸多防盗链竞争中它有什么优点?html
今天,在聊 Referer 防盗链以前,先来聊聊咱们在现实生活中经常碰到的推荐人(Referrer)信息。浏览器
咱们在购买服务或加入会员时,有些会问你:“你从哪里知道了咱们?”安全
上面所说的就是所谓的推荐人(Referrer)信息。服务器
对于公司来讲,这是颇有用的信息,企业根据这些信息,能够分析了解到数据由来,以此来调整推广渠道。工具
大部分用户可能都不会直接访问到某个陌生的网站,通常是经过关键字搜索再进去。那么能够去哪里查找到相关信息,服务器也想知道你的“引荐人”是谁?因此 HTTP 协议在请求头(Request-Header)里设计了 Referer 字段,来给出 “引荐人” 的 URL 地址。测试
Referer 是一个可选请求头,用于标识来源地址(URL) 来了解访问从何而来。Referer 正确拼写应该是「Referrer」,只是在写入标准时,人们没有发现缺乏一个 ‘r’ 字符,后面想改已经来不及。因此就将错就错,就一直沿用到今天。网站
Referer 头因为能够指明来源地址,因此人们能够根据这些数据进行分析。好比,对于营销,市场,推广人员来讲,经过 Referer 字段,能了解访问都是经过哪些搜索引擎“推荐人”引流而来,以此依据,对各大搜索引擎进行广告投放。搜索引擎
浏览器在访问资源时,会根据不一样的场景,来带上不一样的 Referer 参数值来进行请求,因此咱们能够根据信息对请求进行过滤判断——Referer 防盗链, 设定对应规则,让符合引用规则地址能够访问,不符合规则经过 403 进行权限控制。spa
在又拍云,咱们能够根据 Referer 黑白名单,是否容许 Referer 为空等配置规则对访问进行权限配置。命令行
若是只想指定网页内(*upyun.com)引用资源,其它域名拒绝盗链访问。可设置 Referer 白名单而且不容许 Referer 为空访问方式(当 Referer 不能为空时表示,拒绝浏览器直接指定 URL 资源,必须经过 Referer 头引用进行访问,否则也会被限制访问),以免其余域名进行资源盗链。
在此,咱们使用 HTTP 客户端命令行工具 HTTPie[https://httpie.org/](工具支持语言高亮,能够更加清晰代表访问方式) 来进行测试。
当未指定 Referer 值, Referer 为空时,没法经过 Referer 访问控制,访问响应 403 拒绝访问。
当指定 Referer :www.baidu.com 访问时,没有匹配到 *upyun.com 白名单设置,访问响应 403 拒绝访问。
当指定 Referer:www.upyun.com 访问时,匹配经过 *upyun.com 白名单设置,访问响应 200 ,资源访问成功。
除了 Referer 防盗链,又拍云还提供多种访问控制功能,包括 IP 黑白名单,地区访问限制,Referer 防盗链,User-Agent 防盗链,Token 防盗链等,方便用户对访问权限进行配置。若是您想了解更多,能够查看《如何选择适合本身网站的防盗链》这篇内容,了解更多相关知识。