前言
代理(Proxy)其实就是个中介,正向代理与反向代理都是对请求进行转发,但之间的区别还是很大的,现简单梳理下两者的区别。
一、正向代理
特点:客户端(Client)非常明确要访问的服务器(Server)地址。
通过正向代理(Proxy)的方式,客户端的HTTP请求可以转发到之前与客户端网络不通的其它不同的目标服务器。
比如:在国内访问谷歌,直接访问是访问不到的,这时通过正向代理服务器,将我们的请求发送给代理服务器,代理服务器去访问谷歌,获取数据之后再返回给我们,这样就能访问谷歌了。
二、反向代理
反向代理(Proxy)与正向代理相反,客户端(Client)不知道目标服务器(Server)的信息,代理服务器就像是原始的目标服务器,客户端不需要特别的设置。
客户端向反向代理服务器直接发送请求,接着反向代理服务器将请求转发给目标服务器,并将目标服务器的响应结果返回给客户端。
三、使用场景说明
- 正向代理主要是用场景是客户端。
由于网络不通等原因,突破自身ip限制,通过访问中间转发环节即正向代理服务器进行访问目标服务器。 - 反向代理服务器主要使用场景是服务端。
服务提供方通过反向代理服务器实现目标服务器的动态切换,进而实现目标服务器的负载均衡。
总结
正向代理是对客户端的伪装,服务器得到的是伪装过的客户端信息,proxy和client同属一个LAN,对server透明;
反向代理是对目标服务器的伪装,隐藏了目标服务器的IP、头部或者其他信息,客户端得到的是伪装过的目标服务器信息,proxy和server同属一个LAN,对client透明。