代理 是 HTTP 协议中请求方和应答方中间的一个环节,作为"中转站",既可以 转发客户端的请求,也可以转发服务器的应答。
代理有很多的种类,常见的有:
- 匿名代理:完全"隐匿"了被代理的机器,外界看到的只是代理服务器;
- 透明代理:顾名思义,它在传输过程中是"透明开放"的,外界既知道代理,也知道客 户端;
- 正向代理:靠近客户端,代表客户端向服务器发送请求;
- 反向代理:靠近服务器端,代表服务器响应客户端的请求;
由于代理在传输过程中插入了一个"中间层",所以可以在这个环节做很多有意思的事情, 比如:
- 负载均衡:把访问请求均匀分散到多台机器,实现访问集群化;
- 内容缓存:暂存上下行的数据,减轻后端的压力;
- 安全防护:隐匿 IP, 使用 WAF 等工具抵御网络攻击,保护被代理的机器;
- 数据处理:提供压缩、加密等额外的功能。