技术教程 - 梦幻书涯 - 莫問前路遙遠- 與君風雪
X  
登录

还没有账号? 立即注册

忘记密码?
登陆
X  
注册

已经有账号? 马上登陆

获取验证码
重新获取(60s)
立即注册
统计
  • 建站日期:22-09:01
  • 文章总数:80 篇
  • 评论总数:2 条
  • 分类总数:8 个
  • 最后更新:2024年07月05日
导航首页 » 编程知识
正向代理和反向代理

<p><strong>有时候我们会听到正向代理和反向代理,那么这两个是什么概念呢,今天我们一起来了解一下这两个是什么概念</strong></p> <h1 id="正向代理" tid="tid-eb8QHy"><strong>正向代理</strong>:</h1> <p>意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。---&lt;百度百科&gt;</p> <p>小栗子:我通过vpn访问youtube,这其实就是一个正向代理,客户端通过一个代理服务器,然后代理服务器就去向youtube发送请求,然后把请求回来的内容发送给客户端.</p> <p>再举个例子,你去饭店吃饭,这时候来了一个服务员(小王),你需要点什么菜都会跟他说,然后他拿着你的菜单去后厨让厨师来帮你做菜,等厨师把菜做完了,服务员就回去把菜给你端过来,你就可以吃了,在这个过程中,你就是客户端,服务员(小王就是代理服务器),厨师就是服务器,在这之中,你和小王是认识的,但是你和厨师是不认识的,你的所有要求都是通过服务员(小王)去实现的,厨师长也只需要和小王对接就好了,所以这就是一个简单的正向代理的小栗子<br /><a data-fancybox="gallery" href="https://img2020.cnblogs.com/blog/2589936/202110/2589936-20211019172606827-2057365256.png"><img src="/upload/20221117_024350492575494.png" alt="" /></a></p> <h1 id="反向代理" tid="tid-kP5hK6"><strong>反向代理:</strong></h1> <p>反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率-&lt;百度百科&gt;</p> <p>上面说起来这么绕,简单的打个比方,你给10086客户打电话,10086会根据目前内个客户的繁忙程度给你分配一个客服解决问题,在这个过程中,10086分配客户这个事情就可以看作是反向代理,你的客服代表是通过10086分配的,分配系统就可以看做一个反向代理服务器,他对外的接口就是10086,但是他背后连接的是整个10086的客服系统.通过下图就可以能明白</p> <p>简单说,</p> <p>我们去访问一个服务器,这个服务器会根据当前各个服务器的繁忙程度会分配一台服务器,然后把你的请求发给他,然后把返回来的结果发送给你,在这个过程中,你并不清楚你访问的具体是那台服务器,因为他们内部已经做了处理.</p> <p>&nbsp;</p> <p><a data-fancybox="gallery" href="https://img2020.cnblogs.com/blog/2589936/202110/2589936-20211019172606809-2039124144.png"><img src="/upload/20221117_024411516283589.png" alt="" /></a></p> <p>接下来我提炼一下各自的特点:</p> <p>正向代理:</p> <ul> <li>代理客户。</li> <li>隐藏真实的客户,为客户端收发请求,使真实客户端对服务器不可见。</li> <li>一个局域网内的所有用户可能被一台服务器做了正向代理,由该台服务器负责 HTTP 请求。</li> <li>意味着同服务器做通信的是正向代理服务器。</li> </ul> <p>反向代理:</p> <ul> <li>代理服务器。</li> <li>隐藏了真实的服务器,为服务器收发请求,使真实服务器对客户端不可见。</li> <li>负载均衡服务器,将用户的请求分发到空闲的服务器上。</li> <li>意味着用户和负载均衡服务器直接通信,即用户解析服务器域名时得到的是负载均衡服务器的 IP。</li> </ul> <p>共同点:</p> <ul> <li>都是做为服务器和客户端的中间层。</li> <li>都可以加强内网的安全性,阻止 Web 攻击。</li> <li>都可以做缓存机制,提高访问速度。</li> </ul> <p>区别:</p> <ul> <li>正向代理其实是客户端的代理,反向代理则是服务器的代理。</li> <li>正向代理中,服务器并不知道真正的客户端到底是谁;而在反向代理中,客户端也不知道真正的服务器是谁。</li> <li>作用不同。正向代理主要是用来解决访问限制问题;而反向代理则是提供负载均衡、安全防护等作用。</li> </ul> <p>最后出个题</p> <p>比如爸爸和小孩说,你去你妈妈那里要500块钱说老师要收补课费,然后把500给我,我让你今天看电视。</p> <p>请问宝宝在这里充当的是&ldquo;正向代理&rdquo;还是&ldquo;反向代理&rdquo;(当然宝宝长大后我肯定不会这样)?</p> <p>以上只是说了一个概念而已,理解即可</p> <p>&nbsp;</p> <p>&nbsp;</p> <h3>2、正向代理</h3> <p>  弄清楚什么是代理了,那么什么又是正向代理呢?</p> <p>  这里我再举一个例子:大家都知道,现在国内是访问不了 Google的,那么怎么才能访问 Google呢?我们又想,美国人不是能访问 Google吗(这不废话,Google就是美国的),如果我们电脑的对外公网 IP 地址能变成美国的 IP 地址,那不就可以访问 Google了。你很聪明,VPN 就是这样产生的。我们在访问 Google 时,先连上 VPN 服务器将我们的 IP 地址变成美国的 IP 地址,然后就可以顺利的访问了。</p> <p>  这里的 VPN 就是做正向代理的。正向代理服务器位于客户端和服务器之间,为了向服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。这里客户端是要进行一些正向代理的设置的。</p> <p>  PS:这里介绍一下什么是 VPN,VPN 通俗的讲就是一种中转服务,当我们电脑接入 VPN 后,我们对外 IP 地址就会变成 VPN 服务器的 公网 IP,我们请求或接受任何数据都会通过这个VPN 服务器然后传入到我们本机。这样做有什么好处呢?比如 VPN 游戏加速方面的原理,我们要玩网通区的 LOL,但是本机接入的是电信的宽带,玩网通区的会比较卡,这时候就利用 VPN 将电信网络变为网通网络,然后在玩网通区的LOL就不会卡了(注意:VPN 是不能增加带宽的,不要以为不卡了是因为网速提升了)。</p> <p>  可能听到这里大家还是很抽象,没关系,和下面的反向代理对比理解就简单了。</p> <h3>3、反向代理<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h3> <p>  反向代理和正向代理的区别就是:<strong>正向代理代理客户端,反向代理代理服务器。</strong></p> <p><strong>  </strong>反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。</p> <p>&nbsp;</p> <p>理解这两种代理的关键在于代理服务器所代理的对象是什么,正向代理代理的是客户端,我们需要在客户端进行一些代理的设置。而反向代理代理的是服务器,作为客户端的我们是无法感知到服务器的真实存在的。</p> <p>  总结起来还是一句话:<strong>正向代理代理客户端,反向代理代理服务器。</strong></p>...

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆 注册
永远的少年,永远的梦

    热门文章

    1
    2
    3
    4

    javascript:;