正向代理和反向代理

正向代理(Forward Proxy)

代理这个词其实很好理解,在现实生活中,比如A想要买演唱会门票,门票由B来发售,由于某些原因,A无法直接向B买票,这是有一个中间人C也就是黄牛,它可以从B手中买到门票,C可以向A来提供演唱会门票,这个C就是代理。这里需要确定的是:A在向C买门票时,A需要指明他要那个演唱会的门票,这样C才能够购买门票并交付给A。对应到网络中,A相当于我们的客户端,B相当于服务器,C相当于中间的代理服务器,A通过C和B进行通信,A要将B(目标服务器的域名)或者访问地址告诉C,然后C在向B请求,并将响应结果返回给A。这就是正向代理。

反向代理(reverse Proxy)

反向代理其实和正向代理差不多,还是刚才的A、B、C模型,A想要租房,正常情况下,我们租房会怎么做呢?

两种方式

1:A直接向房东租房,此时B作为房东。

2:A找到房屋中介,然后中介提供房屋信息,A找到自己想要的房子。

反向代理就和第二种租房方式相同,A不知道谁正在出租房子,但是他知道房屋中介手中拥有大量房源,他提供一个房子来让A居住。对应到网络中,客户端向代理服务器发送请求,代理服务器来发送请求到目标服务器并将响应结果返回给客户端。这就是反向代理。


乍一看正向代理和反向代理是不是很相似,仿佛没有什么区别?那么我们再看一下他俩之间有什么不同。

首先,正向代理是需要客户端将服务器的地址信息告诉代理服务器的,这时,客户端可以不止访问一个服务,客户端可以访问B、D、F等等服务,都需要代理服务器来转发。而反向代理是:客户端有一个资源需要获取,他只知道代理服务器有,但是代理服务器从哪里获取他就不清楚了。在结合黄牛和租房中介的例子思考一下,正向代理代理的是客户端,反向代理代理的是服务器。正向代理屏蔽了客户端的信息,反向代理屏蔽了服务器的信息。

这样是不是就可以理解什么是正向代理和反向代理了。

最后再说一点,正向代理和反向代理可以来做什么?

正向代理:最常见的是可以用来科学上网(翻墙),无法直接访问网络资源,通过一个代理来间接的访问。

反向代理:反向代理的是服务器,如果我们的应用服务有很多复制体,反向代理可以有选择的将请求分配给服务来处理。这个就是负载均衡,当然了,负载均衡不是这么简单的,我还需要研究学习。

补充一点:(从别处学习到的)

forward :向前的、发送、转交

backward:向后的

reverse:使反转,反面

其实正向代理和反向代理的翻译不太合适,forward的反义词是backward,我认为反向代理的英文想要表达的是将代理对象反转过来。

记录一下自己对正向代理和反向代理的理解,如有不对的地方还望指正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑白交織℡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值