代理服务器
代理服务器分为正向代理与方向代理,他们之间最大的区别就是服务器知不知道是被谁访问的。知道就是方向代理,不知道就是正向代理。同时架设的位置,处在服务端就是方向代理服务器,架设在客户端就是正向代理服务器。
正向代理服务器
正向代理服务器代理的是我们的客户端,参考下图
服务器S是感知不到客户端C的存在,对于服务器S而言他的客户端只有正向代理P。
正向代理的应用场景
-
隐藏
由于服务端是感知不到客户端的存在,即可隐藏客户端,通过正向代理统一访问服务器
-
提速
客户端可以通过正向代理P之间的高速链路来访问服务器S,类似于网游加速器的功能 -
缓存
通过正向代理服务器P将从服务器S请求的资源缓存下来,供后面的客户端使用,比如公司的私有Maven仓库Nexus就是一种正向代理服务器缓存的应用 -
鉴权
正向代理P通过统一管理请求,制定规则可以管理各台客户端是否可以通过
反向代理服务器
反向代理服务器代理的是我们的服务器
反向代理的应用场景
-
保护隐藏
通过反向代理服务器提供统一的访问入口,从而隐藏后面的服务器集群。
-
分布式路由
由于反向代理服务器提供了统一的访问入口,我们可以制定分发规则将请求分达到不同的服务器。
-
负载均衡
同理,客户端请求不知道后面服务器的存在,即可通过负载均衡算法,将压力分散在不同的服务器上面
4. 动静分离
通过反向代理服务器将动态资源请求与静态资源请求分离出来
5. 数据缓存
通过方向代理服务器缓存一些服务器的请求S,达到加开响应速度的目的。
总结
正向代理服务器
- 正向代理服务器代理的是客户端
- 正向代理服务器是架设在客户端的主机
- 客户端在使用正向代理服务器时是明确知道要访问的服务器地址的。
反向代理服务器
- 反向代理服务器代理的是服务器
- 反向代理服务器是架设在服务器的主机
- 客户端在使用反向代理服务器时并不清楚真正访问的服务器地址的。