什么是防盗链设置中的空 Referer

最近更新时间: 2018-01-02 16:03:30

什么是 Referer?

这里的 Referer 指的是 HTTP 头部的一个字段,也称为 HTTP 来源地址(HTTP Referer),用来表示从哪儿链接到目前的网页,采用的格式是 URL。换句话说,借着 HTTP Referer 头部网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。

Referer 的正确英语拼法是 referrer。由于早期 HTTP 规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。

比如,您如果点击下面资料来源后面维基百科的网址链接,那么浏览器会产生一个送到维基百科的 Web 服务器的 HTTP 请求,该请求中则会包含一个 Referer 字段(即本页面的地址)

资料来源:http://zh.wikipedia.org/wiki/HTTP

什么是空 Referer,什么时候会出现空 Referer?

首先,我们对空 Referer 的定义为,Referer 头部的内容为空,或者,一个 HTTP 请求中根本不包含 Referer 头部。

那么什么时候 HTTP 请求会不包含 Referer 字段呢?根据 Referer 的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。

比如,直接在浏览器的地址栏中输入一个资源的 URL 地址,那么这种请求是不会包含 Referer 字段的,因为这是一个 “凭空产生” 的 HTTP 请求,并不是从一个地方链接过去的。

那么在防盗链设置中,允许空 Referer 和不允许空 Referer 有什么区别?

在防盗链的白名单设置中,如果指名白名单中包含空的 Referer,那么通过浏览器地址栏直接访问该资源 URL 是可以访问到的;

但如果不指名需要包含空的 Referer,那么通过浏览器直接访问也是被禁止的。

以上内容是否对您有帮助?
  • Qvm free helper
    Close