小谈代理相关

代理

在计算机领域“代理”是什么意思?

仅仅从字面意思上简单理解,代理类似于我们日常生活中房屋中介、快递公司的角色。我们可以提出某种需求或者服务,然后交给代理来处理,后续的一切细节你不需要了解,然后等待代理为你返回你所想要的信息。

在计算机领域,代理指的就是代理服务器,代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

常见的三种代理即:正向代理、反向代理、透明代理。下面我们就依次介绍一下。

正向代理

通俗讲的话,正向代理就是客户端A知道原始服务器C的存在,然后委托中间代理服务器B去访问原始服务器C。强调的是客户端A必须要进行一些特别设置才能使用正向代理。
小谈代理相关
使用正向代理有如下好处:

  • 访问原本访问不到的服务器,譬如(科学上网之类)
  • 加速访问原始服务器,不同链路之间的带宽速度是不一样的,使用正向代理可以人工选择一条速度较快的链路,从而加速访问
  • Cache 作用,现在一般的代理服务器都会做到缓存功能,从而使得在代理服务器中即可访问同样的内容。
  • 客户端访问授权,
  • 隐藏访问者的行踪,我们平常所说的肉鸡就是用来做这种事情的。当黑客攻击小白电脑并将其改造为一个代理服务器时,小白的电脑就可以用来隐匿黑客的访问来源了

反向代理

还是用通俗的话来讲,反向代理就是客户端A向反向代理服务器B的命名空间中的内容发送普通请求。接着反向代理服务器B将判断向何处(原始服务器C)转交请求,并将获得的内容返回给客户端A。客户端A并不知道原始服务器C到底在那里,并且客户端A不用进行一些特别设置就能使用。
小谈代理相关
使用反向代理有如下好处:

  • 保护和隐藏原始资源服务器
  • 负载均衡。当反向代理服务器不止一个的时候,我们甚至可以把它们做成集群,当更多的用户访问资源服务器B的时候,让不同的代理服务器 Z(x)去应答不同的用户,然后发送不同用户需要的资源。这也是CDN的相关技术。
名称 特点
正向代理 对客户端而言它就像是二级客户端
反向代理 对客户端而言它就像是原始服务器

一句很经典的话来描述一下正反代理的特点“正向代理代理客户端,反向代理代理服务器”

透明代理

透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的请求报文,并会传送真实IP。透明代理实践的例子就是时下很多公司使用的行为管理软件
小谈代理相关
用户 A 和用户 B 并不知道行为管理设备充当透明代理行为,当用户 A 或用户 B 向服务器 A 或服务器 B 提交请求的时候,透明代理设备根据自身策略拦截并修改用户 A 或 B 的报文,并作为实际的请求方,向服务器 A 或 B 发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至用户 A 或 B,如上图,如果透明代理设置不允许访问服务器 B,那么用户 A 或者用户 B 就不会得到服务器 B 的数据。