谈谈正向代理与反向代理
星期一, 12月 30, 2024 | 1分钟阅读 | 更新于 星期一, 12月 30, 2024

正向代理和反向代理是网络中常见的两种代理服务,尽管它们的名称相似,但其功能和用途完全不同。
正向代理(Forward Proxy)
定义:
正向代理是客户端代理,用于代表客户端向服务器发送请求, 着重点在于客户端代理
特点:
- 客户端感知代理存在 :客户端必须知道正向代理的地址,并主动将请求发送给代理服务器。
- 隐藏客户端信息 :目标服务器只会看到代理服务器的请求,而无法直接获取客户端的信息。
- 常见用途:
- 突破网络限制 :如访问被防火墙屏蔽的资源(翻墙)。
- 匿名性 :隐藏客户端的真实 IP 地址。
工作流程:
- 客户端向正向代理服务器发送请求。
- 正向代理服务器转发请求至目标服务器。
- 目标服务器响应数据给正向代理服务器。
- 正向代理服务器将数据返回客户端。
反向代理(Reverse Proxy)
定义:
反向代理是服务器代理,用于代表服务器接受客户端的请求,并将这些请求转发到后端的真实服务器,着重点是服务端
代理。
特点:
-
隐藏服务器信息 :反向代理屏蔽了后端服务器的 IP 地址和拓扑结构。
-
常见用途:
- 负载均衡 :将请求分发到多个后端服务器,减轻单台服务器的压力。
- 安全性增强 :隐藏后端服务器,防止直接攻击。
- 缓存和加速 :存储静态资源或常用内容,减少后端服务器的压力。
- 协议转换 :实现 HTTP/HTTPS 等协议的转换。
工作流程:
- 客户端向反向代理服务器发送请求。
- 反向代理服务器根据规则,将请求转发给后端服务器。
- 后端服务器处理请求并返回响应数据给反向代理服务器。
- 反向代理服务器将响应结果返回客户端。
正向代理与反向代理的区别
正向代理代理的是用户请求的请求,真实的服务器是不知道这个请求是谁发的。
反向代理代理的是服务器的响应,用户不知道真实的服务器在哪里。
一个服务用户
,一个服务服务器
,从不同的角度给的定义
CDN与反向代理的关系
从流程上讲,CDN算是一种反向代理,因为它代理、缓存了服务器源站的数据,充当了用户与后端服务器的代理角色。
但CDN又不仅仅是反向代理,可以将cdn看作反向代理的延伸,因为反向代理初期被用来解决服务器压力和响应速度的问题,大规模部署反向代理时,如果都部署在一起,那么带宽和距离仍然是瓶颈,而异地部署则要考虑负载均衡的问题,解决了这些问题也就基本部署成CDN了。
一言以蔽之:CDN是现在一种网络加速的解决方案,反向代理是将用户的请求转发给后端服务器,CDN用到了反向代理的技术,是不同的。