代理
约 1184 字大约 4 分钟
2025-10-11
在计算机网络中,“代理”是一个核心概念,它充当一个中间人的角色,在客户端和服务器之间转发请求和响应。
代理服务器 是一个位于客户端和目标服务器之间的服务器。客户端不直接连接到目标服务器,而是将所有请求发送给代理服务器,由代理服务器代表客户端去获取资源,然后再将结果返回给客户端。
根据代理服务器的服务对象和部署位置不同,我们主要将其分为两大类:
- 部署在客户端并代表客户端发送请求的,称为正向代理
- 部署在服务端并代表服务器响应资源的,称为反向代理
正向代理
正向代理的概念
正向代理(forward proxy)是“代理”最直观的形式,它代表客户端(或一个局域网内的多个客户端)与外部服务器进行交互。客户端向代理服务器发送一个请求并指定目标服务器,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。
我们访问国外网站所使用的科学上网技术,其实就是一个正向代理服务器。

正向代理的特点
- 隐藏客户端身份:目标服务器收到请求的IP其实是代理服务器的IP地址,不是客户的IP地址。
- 访问控制:正向代理可以根据一定的规则来限制客户端的访问请求,实现访问控制功能。
- 缓存加速:正向代理可以缓存经常访问的页面或资源,提高访问速度,减轻服务器负担。
使用场景
- 突破网络限制
在某些地区或网络环境下,用户可能无法直接访问某些网站或服务。此时,可以通过设置正向代理来突破这些限制,实现访问。

- 网络安全
通过正向代理,企业可以监控和管理员工的访问行为,隐藏客户端真实IP,防止敏感数据泄露。
- 内容过滤
学校、图书馆等公共场所可以通过正向代理过滤不良内容,保护用户免受不良信息的侵害。
- 提高访问速度
代理服务器设置硬盘缓冲区,可以将部分高频请求的响应数据保存到缓冲区中,以提高访问速度。
反向代理
反向代理的概念
反向代理与正向代理恰恰相反,它代表服务器来处理客户端的请求。客户端通常感知不到反向代理的存在,以为它就是客户端要访问的目标服务器。

反向代理的特点
负载均衡
如果服务器集群中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取资源。可以有效降低服务器压力,增加服务器稳定性。
提升服务器安全性
可以对客户端隐藏真实服务器的IP地址和端口;
也可以作为应用的防火墙,防止DoS/DDoS攻击
加密/SSL加速
将SSL加密工作交给配备了SSL硬件加速器的反向代理服务器来完成
缓存服务
将静态资源及段时间有大量访问的动态资源缓存至代理服务器
数据统一压缩
统一访问权限控制
统一访问控制
上传下载速率控制
...
使用场景
web应用:在Web应用中,反向代理常用于实现负载均衡、安全访问控制以及缓存优化等功能。
API网关: API网关通常采用反向代理的方式,对外部请求进行统一管理和调度,实现API的安全、高效访问。
CDN加速: 内容分发网络(CDN)通过在全球范围内部署反向代理服务器,实现内容的就近访问和加速传输。
总结
正向代理和反向代理在计算机网络中各自发挥着重要的作用。正向代理主要关注客户端的访问需求和安全性,而反向代理则更注重后端服务器的负载均衡、安全性和性能优化。在实际应用中,我们可以根据具体需求选择合适的代理方式,实现网络架构的优化和升级。
