正向代理、反向代理、透明代理
一、正向代理
正向代理:客户端A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。客户端知道代理的存在。
它的工作原理相当于一个跳板。比如:我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。现实中的例子就是“翻墙”。
特点:用户隐藏在代理服务器之后。
作用:
1、访问本无法访问的服务器(如FQ服务);
2、加速访问服务器(缩短路径);
3、Cache作用;
4、客户端访问授权;
5、隐藏访问者的行踪(肉鸡);
二、反向代理
反向代理:代理服务器对于客户端而言就像是原始服务器,并且客户端不需要做特殊设置。客户端向反向代理服务器发送普通请求,接着反向代理服务器将判断向何处转交请求,并将获得的内容返回给客户端。
反向代理隐藏了真实的服务端,当我们访问www.baidu.com的时候,背后可能有成千上万台服务器为我们服务,具体哪一台,我们不需要知道,www.baidu.com就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真是的服务器哪里去。
特点:Web服务器隐藏在代理服务器之后。
作用:
1、集群式部署实现负载均衡;
当反向代理服务器不止一个的时候,我们甚至可以把它们做成集群,当更多的用户访问资源服务器B的时候,让不同的代理服务器Z(x)去应答不同的用户,然后发送不同用户需要的资源。当然反向代理服务器像正向代理服务器一样拥有CACHE的作用,它可以缓存原始资源服务器B的资源,而不是每次都要向原始资源服务器B请求数据,特别是一些静态的数据,比如图片和文件,如果这些反向代理服务器能够做到和用户X来自同一个网络,那么用户X访问反向代理服务器X,就会得到很高质量的速度。这正是CDN技术的核心。
2、保护和隐藏原始资源服务器;
三、透明代理
透明代理:他可以拦截TCP/IP层数据流量,可以改变HTTP请求报文,并会传送真实的IP地址。
如图所示,用户A和用户B不知道行为管理服务器(代理服务器)的存在,当用户A和用户B向服务器1或服务器2提交请求的时候,透明代理设备根据自身的策略拦截并修改用户A或B的报文,并作为实际的请求方,向服务器1或服务器2发送请求,当接收响应回传,透明代理再根据自身的设置把允许的报文发回至用户A或B。如果透明代理设置不允许访问服务器3,那么A和B就不会得到服务器3的数据。
注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了。
特点:客户端不知道代理服务器的存在。
作用:透明代理实践的例子就是很多公司使用的行为管理软件。