正向代理,反向代理
前言
定义: 正向代理与反向代理更像是一种概念,通过作用的不同,与视角的不同最后的叫法也不一样。
用户====> 代理=======>服务器
如果以用户为主体,访问服务器,那么就是正向代理
如果以服务器为主体,控制用户的请求,那么就是反向代理
一、图示
正向代理
反向代理
二、详细解释
正向代理:
1.从用户的视角触发。
2.明确知道目标服务的地址。
3.由于用户自己无法访问目标服务器,需要借助代理服务去进行访问,最后拿到服务方返回的信息。
4.服务器不知道具体是谁进行的访问。
反向代理:
1.从服务方的视角出发。
2.为了给服务方提供负载均衡,减缓服务器的压力。
3.由于代理工具和服务器都是服务方提供的,所以服务方是知道具体是哪个用户进行的访问。
4.用户不知道访问的到底是哪个服务器。
三、示例解释
正向代理:
同学A急需一笔钱,他直接向富豪马云借钱,但是他俩之间毫无关系,结果当然是没有借到。经过一番打听,同学A的老师王先生是马云的好朋友,于是A同学请求王老师,让王老师帮忙向马云借钱,最终马云同意借钱给王老师,王老师把这笔钱转交给了A同学。
上文就相当于一个正向代理的过程,A同学为客户端,马云为服务器,王老师为正向代理。A同学请求王老师向马云借钱,这个过程中A同学隐藏了自己的角色,马云事实上是不知道到底是谁借的钱。相当于服务器不知道真正发起请求的客户端是谁。
反向代理:
如果遇到困难需要拨打10086客服电话,可能一个地区的10086客服有几十个,但是我们不需要关心电话那头的人是谁。只需要拨通10086的总机号码,电话那头总有客服会回应。
这里的10086总机号码就相当于反向代理,客户端不知道真正提供服务的人是谁。