正向代理和反向代理有什么区别?

在本次回答中,我将会加入几个例子,以便于理解。

在电脑领域里,我们说的是一部服务器代表另一台电脑处理访问网络、爬取数据等工作。

为了便于访问的有效性使用,我将仅限于网络代理讨论,不过,这个概念并不仅限于网页。

HTTPS正向代理

大部分的讨论都涉及到被称作“正向代理”的代理类型。

在本例中,“正向代理”是指以原申请方的名义从其他站点获取资料的方式。

3部电脑的故事(一)

举例来说,我会列举三台连入公网的电脑。

  • X=您所使用的电脑
  • Y=代理站点2808proxy
  • Z=你要去的网址,www.example.net

一般情况下访问网络,是从X到Z。

然而,如果你在使用爬虫,最好用Y到Z表示X,这样的链条就像:X-> Y-> Z。

X为什么希望通过代理转发数据:

这是正向代理服务器使用的几种场景:

  1. X不能对Z进行直接访问,原因是
    1. X的ISP 禁止访问Z网站。
      1. 举例:
        1. Storm Worm是一种欺骗他人进入网站进行扩散的方法familypostcards2008.com,所以网络管理员阻止了用户对于该网站的访问,以防止用户的计算机被感染病毒。
        2. 一位大公司的雇员把大量的精力花在了facebook.com上,所以他们的上司想在上班的时候禁止进入网站。
        3. 本地的一所学校禁止互联网进入Playboy.com。
        4. 由于政府不能对消息进行管制,所以它屏蔽了wikipedia.org。
  2. 的服务器管理员Z阻挡X。
    1. 举例:
      1. Z的管理者发现X受到了黑客入侵,所以管理者们决定封锁X的IP位址(和/或网路距离)。
      2. Z,就是一个专门讨论的地方。X把垃圾信息发给了论坛。Z对X进行了拦截。

反向代理

3部电脑的故事(二)

为了示例,我会列举三部与因特网相连的电脑。

  • X=您所使用的电脑
  • Y=你要去的网址example.net所配置的反向代理服务器
  • Z=你要去的网址,www.example.net

一般情况下,人们会从X直接访问到Z。

不过,在一些案例中,最好的办法就是让服务器管理者Z来控制或者禁止用户的直接直接访问,并让用户先进入Y。所以,与之前相同, Y到Z表示查找数据X,其连结如下X-> Y-> Z:

这次,和“正向代理”的情况不一样,这个时候, X并没有察觉他在和Z进行通讯,因为 X认为他是在和Y通信,但事实上Y把数据全部传送给了Z(X—> Y—> Z)。所以反向代理不是在客户端中设置的,而是由网站进行配置的。

Z为什么要建立一个反向代理程序(反向代理是什么):

  1. Z希望把他的站点上的全部通信都强行经过 Y 反代理。
    1. Z拥有一个庞大的站点,拥有数以百万计的用户,但是单一的 Web服务器不能同时满足全部的通信需求。所以Z在网络上建立了很多的服务器,并且在网路上安装了一个反代理,当使用者试图访问 Z的时候,这个代理会把使用者传送到距离 Z最近的服务器。这就是 CDN (Content Division Network)的概念。
      1. 举例:
        1. 苹果运输公司采用 Akamai
        2. Jquery.com将其 JavaScript文档作为一个示例,通过 CloudFront CDN进行管理。
  2. Z的管理者希望被存储在其上的信息会受到保护,因此不希望将其源站服务器公开。
    1. 类似于“Canadian Pharmacy”这样的广告公司,其拥有者看起来有数以千计的服务器,而事实上,大部分站点的主机都很小。另外,对垃圾信息的滥用投诉只会关闭其中的某一个公共服务器,而主服务器不会遭受牵连。

结论

正向代理和反向代理的定义以及使用案例如上,如果还有任何疑问请联系我们获得帮助。同时2808proxy提供免费代理IP以及代理IP产品服务,以及相关技术支持。