HTTP Referer是header的一部分, 当浏览器向web服务器发送请求的时候,通常会带上Referer,告诉服务器我是从哪一个页面连接过来的,服务器藉此能够得到一些信息用于处理。经过该头域的值,咱们能够检测到访问目标资源的源地址html
前段日子 在自学作项目的时候发现 明明在项目中引用了线上存在的图片 可是在本身的项目中却怎么也显示出来web
查阅资料后发现是这些第三方网站设置了防盗链浏览器
先说说防盗链的原理,http 协议中,若是从一个网页跳到另外一个网页,http 头字段里面会带个 Referer。安全
这里的Referer是因为历史缘由致使了拼写错误 后来也就一直沿用。服务器
图片服务器经过检测 Referer 是否来自规定域名,来进行防盗链。markdown
若是盗用网站是 https 的 protocol,而图片连接是 http 的话,app
则从 https 向 http 发起的请求会由于安全性的规定,而不带 referer,从而实现防盗链的绕过。ide
官方输出图片的时候,判断了来源(Referer),就是从哪一个网站访问这个图片,网站
若是是你的网站去加载这个图片,那么Referer就是:你的网站地址;ui
你网站地址,确定没在官方的白名单内,因此就看不到图片了。
所以,若不发送Referer,也就是没有来源。那么官方那边,就认为是从浏览器直接访问的,因此就能加载正常的图片了。
<meta name="referrer" content="never">
复制代码
好比在掘金上 查看个人一篇文章中一张图片的Request Headers 就能够看到Referer