正向代理和反向代理
正向代理和反向代理
一、正向代理
例子:A同学,在大众创业,万众创新的一个时代背景下,现在他急需500万的启动资金。他该怎么办呢?于是他决定向马云借500万,可想而至,最后碰了一鼻子灰回来。这个时候,他想到大学老师王老师是马云的同学,于是他托王老师向马云借了500万。不过,马云并不知道这钱是借给了A同学,马云是把钱借给了王老师,王老师最后转交给了A同学。
? 在这个过程中,王老师扮演了一个非常重要的角色,那就是代理,也可以叫做正向代理。在这个里要特别注意的一点就是,整个过程当中,马云是不知道这钱是真正借给了谁。
? 说回来,我们现在想通过浏览器访问www.google.com,大家都知道,根本访问不到。我们可以在国外部署一台代理服务器,让代理帮我访问www.googel.com,代理再把请求的响应返回给我们。
二、反向代理
例子,我们在打10086客服热线的时候,一个地区的客服人员有几个或十几个,你永远都不需要关心电话那一头是谁,叫什么名字,是男的还是女的,漂亮还是帅气,你都不关心,你关心的是你的问题能不能得到专业的解答。所以呢,我们只需要拨通10086热线之后,电话那头总会有人回答你,只是有时快有时慢而已。在这里,我们就可以称10086客服热线为反向代理,因为你不知道,最后给你提供服务的到底是谁。
? 说回来,我们都知道百度的服务器有成千上百台,我们在访问www.baidu.com的时候,你根本就不知道访问是哪一台服务器。但是,你也不需要知道,你只需要知道反向代理服务器是谁,www.baidu.com所在的服务器就是我们所指的反向代理服务器,反向代理服务器会把请求转发到真实的服务器上。
? 我们常用的Nginx就是性能非常好的反向代理服务器,可以用来做负载均衡。
三、总计
正向代理:代理对象是客户端,服务器端不知道真正的请求客户端是谁。
反向代理:代理对象是服务端,客户端不知道真正访问的服务器是哪一台。