本文为结合http://z00w00.blog.51cto.com/515114/1031287,http://blog.youkuaiyun.com/m13666368773/article/details/8060481,http://www.ittribalwo.com/article/163.html三篇文章内容而得
正向代理
什么是正向代理
他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器能访问那个我不能访问的网站。于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我,从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
下图的Z即为正向代理服务器,A为客户端。
正向代理的作用
1、访问本无法访问的服务器
比如日本的一些网站屏蔽了我们中国的IP,我们只要使用日本的代理就可以访问日本的网站。
2、加速访问服务器
这种说法目前不像以前那么流行了,主要是带宽流量的飞速发展。早期的正向代理中,很多人使用正向代理就是提速。假设用户A到服务器B,经过R1路由器和R2路由器,而R1到R2路由器的链路是一个低带宽链路。而用户A到代理服务器Z,从代理服务器Z到服务器B都是高带宽链路。那么很显然就可以加速访问服务器B了。
3、Cache作用
代理服务器就好像一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果用户所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从被请求服务器读取数据,而直接将存储器上的数据传送给用户,这样就能显著提高浏览速度和效率。有时候我们访问一些国外或者港台网站,速度慢得像蜗牛一样,但只要你正确的选择代理服务器,速度就可以得到提升,有时候这些速度的提升还非常明显。本身带宽较小,通过带宽较大的proxy与目标主机连接,而且通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,从而达到提高访问速度的目的。
4、客户端访问授权
可以起到防火墙的作用。因为所有使用代理服务器的用户都必须通过代理服务器访问远程站点,因此在代理服务器上就可以设置相应的限制,以过滤或屏蔽掉某些信息。这是局域网网管对局域网用户访问范围限制最常用的办法,也是局域网用户为什么不能浏览某些网站的原因。拨号用户如果使用代理服务器,同样必须服从代理服务器的访问限制,除非你不使用这个代理服务器。
5、隐藏访问者的行踪
反向代理
什么是反向代理
假如用户访问 http://ooxx.me/readme,但ooxx.me上并不存在readme页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户,但用户并不知情,这很正常,用户一般都很笨,这里所提到的 ooxx.me 这个域名对应的服务器就设置了反向代理功能。
结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
反向代理的作用
1、 保护和隐藏原始资源服务器
用户只知道代理服务器的地址,访问的也是代理服务器,真正保存数据的服务器只有代理服务器知道其存在。
2、 负载均衡
当访问用户过多时,我们可以通过代理服务器集群来分散压力。让不同的代理服务器Z(x)去应答不同的用户,然后发送不同用户需要的资源。反向代理和正向代理一样,都有cache的功能。它可以缓存原始资源服务器B的资源,而不是每次都要向原始资源服务器B请求数据,特别是一些静态的数据,比如图片和文件,如果这些反向代理服务器能够做到和用户X来自同一个网络,那么用户X访问反向代理服务器X,就会得到很高质量的速度