代理服务器
部署在客户端和服务器之间的服务器,可以代替客户端和服务器发送或接收消息
正向代理
定义
正向代理,也是客户端代理,当客户端要访问目标服务器时,会先发送请求到代理服务器,由代理服务器将请求转发到目标服务器,并且接收目标服务器的响应,将响应返回给客户端。而目标服务器并不会知道哪个是真正的客户端,只负责响应请求。正向代理的情况下客户端必须要进行一些特别的设置才能使用。
作用
- 提高访问速度
正向代理会缓存响应的结果,下次访问可以直接从缓冲区获取,减少服务器负载 - 隐藏真实的客户端
由于服务器无法知道真正的客户端,保护了客户端的隐私和信息 - 突破访问限制
正向代理可以访问原来无法访问的网站和资源,例如访问外网
反向代理
定义
反向代理,也是服务器代理,客户端访问目标服务器,但实际上是反向代理服务器接收客户端的请求,从目标服务器获取资源返回给客户端,由于客户端并不会感知到反向代理后面的服务,所以不需要进行配置。
作用
- 保护真实的服务器
客户端无法知道真正的服务器,保护了原始资源服务器。 - 负载均衡
当反向代理服务器有多个时,可以做成集群,在更多用户访问目标服务器的情况下,可以让不同代理服务器对接不同用户,从目标服务器获取对应用户所需的资源,发送给相应的客户端。Nginx就是有该功能的性能很好的反向代理服务器。 - 透明代理
透明代理可以对某个请求进行屏蔽,导致客户端在对特定服务器发送请求时被拦截屏蔽
区别
- 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。
- 正向代理需要主动设置代理服务器ip或者域名进行访问,反向代理不需要