简言之:
- 正向代理是代理的是客户端,是架设在客户端的,知道服务器是谁。
- 反向代理代理的是服务端,架设在服务端,客户端不知道真正的服务器是谁。
一、正向代理
1、隐藏
正向代理服务器实际上是代理的客户端,对于服务端来说,不知道真正的客户端的存在,对它来说,代理服务器就是它的客户端。
2、翻墙
客户端安装一个可以连上正向代理服务器的软件,该代理服务器可以访问一些客户端无法访问的服务器。
3、提速
客户端能够直接访问服务器,但是是一个低速链路。此时的代理服务器可以提供一个高速链路供客户端访问服务器。就好比我们现在某些资源的时候,直接下载比较慢,此时可以访问一些镜像地址。
4、缓存
比如,公司内部一般会建立自己的Nexus的maven本地仓库的服务器,该服务器就是起到了缓存作用。
5、授权
公司内部对员工电脑设有访问外网的权限控制,起到防火墙的作用。
二、反向代理
1、保护隐藏服务端
2、分布式路由
客户端提交请求,反向代理服务器会根据请求的uri转发到不同功能的服务器。
3、负载均衡
客户端提交的请求,反向代理服务器会根据不同的策略将请求转发到不同的服务器。
4、动静分离
反向代理服务器将不同的请求(动态和静态)转发到动态服务器或是静态服务器。
5、数据缓存