mingyunyuziyou

http请求头中Referer的含义和作用

作者: 秒速五厘米     
 


Referer请求头的一部分,表示一个来源。

比如在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=http://www.google.com


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


作用:

1.防盗链。

比如我只允许我自己的网站访问自己的图片服务器,假设域名是www.haibao.com,那么图片服务器每次取到Referer来判断一下域名是不是www.haibao.com,如果是就继续访问,不是就拦截。


2.防止恶意请求。

比如静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer  为我自己的网站。


一个 HTTP 请求中可能不包含 Referer 或者Referer内容为空,意味着允许直接在浏览器的地址栏中输入一个资源的URL地址直接访问