深色外观
什么是代理?
30 秒快速答案
问题:计算机网络中所说的“代理 (Proxy)”是什么原理?
代理(Proxy)是指充当客户端和目标服务器之间通信中介的网络服务。客户端的所有网络请求先发送给代理服务器,由代理服务器替客户端去向目标网站请求数据,再将获取到的数据回传给客户端。
🔄 代理的基本运作流程
没有代理时: $$\text{客户端} \xrightarrow{\quad \text{直接连接} \quad} \text{目标网站 (Google / YouTube)}$$ 如果中间链路存在阻断或网络劣化,连接就会超时失败。
使用正向代理时: $$\text{客户端} \xrightarrow{\quad \text{加密传输} \quad} \text{代理服务器 (境外节点)} \xrightarrow{\quad \text{直连请求} \quad} \text{目标网站}$$ 目标网站看到的访问 IP 是代理服务器的 IP,而不是你本地的真实公网 IP。
⚖️ 正向代理 vs 反向代理
| 对比维度 | 正向代理 (Forward Proxy) | 反向代理 (Reverse Proxy) |
|---|---|---|
| 代表谁 | 代表客户端(保护/隐藏客户端) | 代表服务端(保护/分流后端服务器) |
| 典型用途 | 科学上网、内网穿透、访问控制 | 网站负载均衡、Cloudflare CDN 缓存、WAF 防火墙 |
| 谁知道目标 | 客户端明确知道自己要访问哪个目标网站 | 客户端以为访问的是代理,不知道背后具体哪台真实机器 |
| 日常生活 | 我们使用的 Clash、v2rayN 均为正向代理 | 访问大型电商或网站时经由的 Nginx / CDN 属于反向代理 |
🛠️ 代理的主要工作层级
- 应用层代理 (SOCKS5 / HTTP Proxy) 特定应用程序(如浏览器、Telegram、Git)在自身设置中配置代理端口,仅这些软件的流量会经过代理,其他系统应用不受影响。
- 系统代理 (System Proxy / IE 设置) 修改 Windows / macOS 的系统网络属性,通知所有遵循系统代理调用的软件走本地代理端口。
- 网络层虚拟网卡代理 (TUN 模式) 在操作系统内核中创建一个虚拟网络适配器,接管整台设备的所有 TCP/UDP IP 数据包,即使不遵守系统代理的游戏或命令行工具也能全局走代理。