正向代理和反向代理

自作多情 提交于 2020-04-02 14:01:25

正向代理和反向代理

简单来说,当你要访问a服务器的时候,因为一些可观存在的原因,并不能让你直接访问,可能是因为安全问题,a服务器地址被隐藏起来,或者你们公司把域名屏蔽了,防止你们上班瞎逛网站,但是没屏蔽IP,这个时候,你就可以通过代理,做一个中转,去访问另一个服务器,也就是代理就是在你因为某些原因不能直接访问服务器(可能是规矩,这个服务器的地址不能外露,可能是客观限制了,你们公司限制了域名),这个时候你就需要一个中转的服务器,这个服务器就是做的代理任务,就是代理服务器。

弄清楚代理就完了?但是代理又分正向代理和反向代理,两者有相同的,就是本质功能上却是不一样的。

正向代理

在这里我举个例子说明,你跟张三和李四是好朋友,但是你父母跟张三父母的关系很差,不让你跟张三说话,但是这个时候你要找张三借东西,但是你又不能跟张三说话,这个时候你找了李四帮忙,李四在这个过程做的就是正向代理。正向代理的两个服务器你都是知道的,都是你认识的。只是你不能直接访问第二个服务器,所以找了一个中间服务器帮忙。如图1-正向代理

图1-正向代理

反向代理

还是举个例子说明,我要借钱,但是不知道找谁借,但是我就去找了张三,张三说我帮你想办法,然后他找了其他人帮你把钱借到。这个过程就是反向代理。

反向代理有两个特征:

1.张三(中间服务器)并没有借钱给你(没提供数据)

2.你(客户)并不知道张三找谁借钱给你(不知道目标服务器是哪个)

那么干嘛张三不直接告诉你谁有钱,毕竟多一个中间商,就会多赚一些差价,服务器也是这样,多一个服务器中转,就会多消耗一些资源,最简单的,可能请求返回的时长会变长。

这里再举个例子说明一下,你们村的人100人要借钱,不找张三了,都知道张三找了4个人借钱,分别是李四,赵五,王六,周七,这个时候100个人中有99个人找了李四借钱,都在李四门前排队,但是李四只能借50个人,那99个人就慢慢排队借钱,要写借条,就像请求头之类的东西,50个人全部借完钱花了4个小时,剩下的49个人还借不到钱。这个过程是痛苦的,借钱的时间长了(请求慢),还有人可能借不到钱(请求超时),但是如果这100个人都找了张三呢,因为这100个人不是找张三借钱,张三也不用数钱,把钱包装好,因为李四他们都把一切打包好了,所以这一百个人找到张三,张三的速度并没有明显降低,他只是个传话的。然后张三统计了有100个人要借钱,有4个人能借出钱,所以就找每个人借了25份钱,这个过程即不会造成有人借不出钱,又把资源平摊了,不会有人慢很多,更不会有人卡死。此时张三就类似一个分发的作用,像一个管家把任务都往下发,但是你这个老爷并不知道发给了谁。这就是反向代理。

图2-反向代理

 

 

 

 

参考链接:

https://baike.baidu.com/item/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/7793488?fr=aladdin

https://baike.baidu.com/item/%E6%AD%A3%E5%90%91%E4%BB%A3%E7%90%86/9524799?fr=aladdin

https://blog.csdn.net/liuhenghui5201/article/details/90720442

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!