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

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

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/58.html

转载时必须以链接形式注明原始出处及本声明。

Referer 是 HTTP 请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:

Referer=http://www.google.com

由此可以看出来吧。它就是表示一个来源。看下图的一个请求的 Referer 信息。

这里有一个小问题要说明下。

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

Referer的作用?

1.防盗链。

刚刚前面有提到一个小 Demo 。

我在www.google.com里有一个www.baidu.com链接,那么点击这个www.baidu.com,它的header信息里就有:

Referer=http://www.google.com

那么可以利用这个来防止盗链了,比如我只允许我自己的网站访问我自己的图片服务器,那我的域名是www.google.com,那么图片服务器每次取到Referer来判断一下是不是我自己的域名www.google.com,如果是就继续访问,不是就拦截。

这是不是就达到防盗链的效果了?

将这个http请求发给服务器后,如果服务器要求必须是某个地址或者某几个地址才能访问,而你发送的referer不符合他的要求,就会拦截或者跳转到他要求的地址,然后再通过这个地址进行访问。

2.防止恶意请求。

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

Referer=http://www.google.com

空Referer是怎么回事?什么情况下会出现Referer?

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

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

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

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

允许 Referer 为空,意味着你允许比如浏览器直接访问,就是空。

相关推荐

如何永久删除小米帐号
英国beat365官方登录

如何永久删除小米帐号

📅 09-14 👁️ 337
王者荣耀战令60级到80级要多久?60级再买进阶卡好不好
细谈迅雷玩客币和百度挖矿 – 挖矿网
中爱365APP

细谈迅雷玩客币和百度挖矿 – 挖矿网

📅 07-13 👁️ 7131
2024年中国苹果产业数据分析简报
365网新闻

2024年中国苹果产业数据分析简报

📅 07-18 👁️ 2177
分享一些百度贴吧引流的实用干货和防删技巧
英国beat365官方登录

分享一些百度贴吧引流的实用干货和防删技巧

📅 10-22 👁️ 132
国铃电动车电池好吗?
中爱365APP

国铃电动车电池好吗?

📅 10-05 👁️ 2681
淘宝尺码表制作方法
中爱365APP

淘宝尺码表制作方法

📅 08-12 👁️ 3002
厨房工作鞋十大品牌排行榜
英国beat365官方登录

厨房工作鞋十大品牌排行榜

📅 06-27 👁️ 3858
16 美元 $ (USD)兑换¥ (CNY)今天实际汇率是多少
英国beat365官方登录

16 美元 $ (USD)兑换¥ (CNY)今天实际汇率是多少

📅 07-17 👁️ 3027
gta5鬼魂具体位置在哪?女鬼位置坐标及触发办法
42寸液晶电视尺寸(42寸电视的尺寸)
英国beat365官方登录

42寸液晶电视尺寸(42寸电视的尺寸)

📅 09-02 👁️ 9696
【自购分享】全作物官方攻略种植时间周期表