跳到正文

DL代理 · 代理科普

代理服务器是什么:它替你转发了哪一步,谁能看到什么

分清法律、商业、网络三种“代理”,再照 RFC 9110、RFC 1928 原文讲代理服务器怎么转发请求,正向、反向、透明代理由谁设置,走 HTTPS 时代理能看到什么。

更新 资料核对 代理导航编辑部 约 9 分钟

代理服务器是什么?

代理服务器是夹在你的设备和目标网站之间、替你转发请求的一台服务器,网站看到的是代理的 IP,2022 年 6 月发布的 HTTP 标准 RFC 9110 把它定义为由客户端选定、通常靠本地配置指定的报文转发者。按谁来选它,可以分成正向代理、反向代理和拦截式(透明)代理,协议上常见的是 HTTP 代理和 1996 年 3 月定稿的 SOCKS5(RFC 1928,惯用 TCP 1080 端口)。访问 HTTPS 网站时,只要你的设备没有信任代理方装的证书,代理只能看到域名、端口和流量大小,看不到页面内容。

依据:2026-10-20 逐条核对的 IETF RFC 9110、RFC 1928、RFC 7239 原文,以及 MDN、nginx、Squid、WireGuard 官方文档。 测评方法

先分清你问的是哪一种“代理”

“代理”这个词在中文里身兼数职,商业、法律、游戏、化学里都有“代理”,和网络无关的占了大半。所以先把几种意思摆开,读者扫一眼就知道这页是不是自己要找的。

法律上的代理写在《民法典》第七章。第一百六十一条说民事主体可以通过代理人实施民事法律行为,第一百六十二条接着规定,代理人在代理权限内以被代理人名义实施的民事法律行为,对被代理人发生效力[1]。委托律师出庭、监护人替孩子签字,用的都是这层意思。商业上的代理商、代理记账,讲的是替厂家卖货、替企业记账,权利义务按合同来。

网络代理和法律代理有一处差别挺有意思。法律代理要求用被代理人的名义办事,后果落在被代理人身上。代理服务器正好反着来,它拿自己的地址去和网站打交道,网站记下的是代理的 IP,你的设备躲在后面。本文只讲这一种。

表 1“代理”的三种常见意思文字对照 · 核对 2026-10-20
意思 谁替谁办事 对方面对的是谁 常见例子
民法上的代理 代理人替被代理人实施民事法律行为 以被代理人名义,效力归被代理人(民法典第一百六十二条) 委托律师、法定监护
商业代理 代理商替厂家销售,代理机构替企业办账 按合同约定 区域代理商、代理记账
网络代理 代理服务器替你的设备转发网络请求 目标网站看到的是代理服务器的 IP 单位上网代理、网站的反向代理、本机代理客户端

代理服务器在中间做了哪一步

不用代理的时候,浏览器查到网站的 IP,直接连过去。用了代理,浏览器连的是代理的地址和端口,告诉它自己要去哪个网站,代理替它连过去,再把网站的回复原样交回来。

HTTP 的现行标准 RFC 9110 在 2022 年 6 月发布,它给代理下的定义很朴素,一个由客户端选定、通常靠本地配置规则指定的报文转发者[2]。“由客户端选定”这几个字后面还要用,分辨代理属于哪一类,主要就看它。

访问 http:// 开头的网址时,代理收到的是完整的请求,网址、请求头、表单里填的东西都在里面。访问 https:// 网址,浏览器会先发一条 CONNECT 请求,里面只写目标主机和端口,RFC 9110 规定这种请求必须带上端口号[2]。一条典型的 CONNECT 请求长这样。

代码

CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com:443

代理答应以后,这条连接就成了 RFC 9110 所说的隧道,在两段连接之间做盲中继,不改动经过的报文[2]。浏览器和网站之间的 TLS 加密从这时开始,代理只是在两头搬运加密过的字节。

正向、反向、拦截式,看是谁选了它

正向代理是用户这一侧选的。单位的上网代理最典型,管理员在电脑上下发地址或配置脚本,员工的浏览器先去找它。开源软件 Squid 在首页上介绍自己是支持 HTTP、HTTPS、FTP 的 Web 缓存代理,靠缓存常用页面省带宽、缩短响应时间,访问控制也做得很细[7]。它的配置文档里写着 Squid 通常监听 3128 端口[8],所以在单位网络里看到 3128 这个端口号并不奇怪。

反向代理是网站那一侧选的。RFC 9110 管它叫 gateway,括号里注明也就是 reverse proxy,对外表现得像源站,收到请求后再转给后面的一台或几台服务器[2]。nginx 的 ngx_http_proxy_module 干的就是这件事,文档第一句话说这个模块用来把请求转给另一台服务器[6]。访问者什么都不用设置,也感觉不到它。

拦截式代理是第三种,用户和网站都没选它,选它的是网络管理方。RFC 9110 提到 interception proxy,也常被叫作 transparent proxy(透明代理),它和 HTTP 代理的区别就在于不是客户端选的[2]。Squid 的 intercept 模式对应这种做法,靠网络层的 NAT 把流量转到 Squid 监听的端口上[8]。

翻资料时会碰到一处叫法打架。RFC 9110 把反向代理叫 gateway,MDN 的代理科普页却说正向代理也叫 gateway,或者直接叫 proxy[5]。同一个“网关”,两份常被引用的文档指向相反的方向。我们的办法是不跟名字较劲,只问两件事,谁选的它,它替谁遮挡身份。MDN 那页有一句可以当尺子用,正向代理能隐藏客户端的身份,反向代理能隐藏服务器的身份[5]。

表 2几种代理形态对照文字对照 · 核对 2026-10-20
形态 谁选的 替谁办事 访问者要不要设置 例子
正向代理 用户或单位管理员 客户端 要,填地址和端口,或者填配置脚本地址 单位上网代理、Squid 的常规用法
反向代理 网站运营方 服务器 不用 nginx 的 proxy_pass
拦截式(透明)代理 网络管理方 网络管理方 不用,也轮不到你选 Squid 的 intercept 模式
本机代理客户端 你自己 本机上的程序 要,把系统代理指向 127.0.0.1 Clash 类客户端、v2rayN

最后一行严格说属于正向代理,只是代理程序跑在你自己的电脑上。它在后文讲机场节点时还会出现。

透明、匿名、高匿这三档从哪来

国内代理 IP 行业习惯把代理分成透明、匿名、高匿三档。这套叫法不出自哪份标准,分档看的是代理在转发明文 HTTP 请求时往请求头里加了什么。这里的“透明”说的是请求头里带不带你的地址,和上一节 RFC 9110 那个“用户没选它”的透明代理同名,意思不同,看资料时别混在一起。

RFC 9110 对代理有一条硬性要求,转发的每一条报文都必须带上相应的 Via 头[2],规规矩矩的代理会自报家门。另一个常见的头是 X-Forwarded-For,MDN 说它是事实上的标准,用来标出经 HTTP 代理或负载均衡连到服务器的客户端原始 IP[5]。IETF 在 2014 年 6 月发布 RFC 7239,把这类信息收进标准化的 Forwarded 头,其中 for 参数标的是向代理发起请求的那一端,这份文档同时给了代理管理员隐藏请求来源的指引[4]。

照这个思路,三档的差别落在两个问题上。网站能不能看到你的真实 IP,网站能不能看出你在用代理。

表 3三档匿名在明文 HTTP 请求里的差别文字对照 · 核对 2026-10-20
档位(行业叫法) 网站能否看到你的真实 IP 网站能否从请求头看出用了代理 相关请求头
透明 能 能 X-Forwarded-For 或 Forwarded 带着你的地址
匿名 不能 能 去掉了你的地址,保留 Via 之类的标记
高匿 不能 从请求头看不出 两类头都不加

这张表有个前提。现在多数网站走 HTTPS,真正的请求头在 CONNECT 隧道里加着密,代理根本插不进去,三档的差别主要体现在明文 HTTP 上。按我们的理解,网站想判断访客是不是代理,还可以看这个 IP 属于什么网络、同一个 IP 上同时有多少人在访问,这些和请求头无关。冲着“高匿”去买 IP 做业务的人,这一层最好也算进去。业务用代理 IP 怎么分类,代理 IP 是什么那篇讲得更细。

HTTP 代理和 SOCKS5

HTTP 代理听得懂 HTTP,明文网页直接转发,HTTPS 靠上面那条 CONNECT 打通隧道。SOCKS5 出自 1996 年 3 月的 RFC 1928,当初是为了让程序方便、安全地穿过防火墙,它只管替程序连到指定的地址和端口,TCP、UDP 都能转,惯用端口是 TCP 1080[3]。

两者在浏览器里最容易出差别的地方是域名由谁解析。Chromium 的文档说,Chrome 用 SOCKSv5 代理时总在代理那一侧解析域名,没有开关可改[11]。Firefox 扩展接口里的 proxyDNS 选项,从 Firefox 128 起对 SOCKS5 默认开启,之前默认关闭[12]。同样填一个 SOCKS5 地址,DNS 查询走不走代理,要看浏览器和版本。握手过程、认证方式和一张完整的对照表,放在 SOCKS5 和 HTTP 代理的区别那篇。

VPN、机场节点和代理服务器的关系

先说 VPN 和代理服务器,两者接入系统的方式差得最明显。WireGuard 官网说它靠新增一个叫 wg0 之类的网络接口工作,把 IP 包封装进 UDP 送出去[10],系统按路由表把流量交给这块网卡,程序不用逐个设置。代理服务器得程序自己去连,不读系统代理设置的程序照样直连,“代理开着,某个软件还是连不上”多半出在这里。

机场订阅里的每个节点也是一台代理服务器,只是用的是 VLESS、Trojan、Shadowsocks、AnyTLS 这类协议,系统代理设置里填不进去。所以本机客户端先在 127.0.0.1 上开一个本地端口接住流量,mihomo 文档里这类端口分 HTTP(S) 端口、SOCKS 端口和两种都收的混合端口[13],客户端再按节点协议加密,转给远端节点。

星岛梦(StarDream)就是这样一家机场类服务,也是本站的推广合作方。本站 2026-06-27 做解锁检测时,它的订阅里有 70 个节点,VLESS 60 个、AnyTLS 10 个。它卖的是访问海外网站用的节点,按 IP 提取、批量轮换出口这类业务它接不住,资料和缺点写在星岛梦档案页。代理、VPN、机场、加速器几样东西逐项对照,见代理、梯子、VPN、机场有什么区别;节点名称怎么读、全部超时怎么查,见代理节点那篇。

平常在哪儿会碰到代理服务器

最常见的是单位网络。Windows 的“网络 & Internet > 代理”页面分自动代理设置和手动代理设置两块,自动那一块包括“自动检测设置”开关,以及一个“使用设置脚本”的选项[15]。设置脚本就是 PAC 文件,MDN 的解释是,它是一个 JavaScript 函数,决定浏览器的请求直连目标还是转给代理,函数名叫 FindProxyForURL,返回 DIRECT、PROXY host:port 或 SOCKS host:port[14]。单位电脑上这里已经有值,多半是管理员下发的。

写代码、用命令行的时候也会碰到。curl 认的是 http_proxy 这类环境变量,和系统设置页是两套东西,具体写法和查法放在代理地址和端口填什么那篇。

访问海外网站,是很多人搜“代理”的真实目的。在国内这样做涉及哪些规定,本站把原文集中在上外网犯法吗那一页,这里不下结论。

做数据采集、跨境店铺,要的是大量或固定的出口 IP,这属于业务代理 IP 的范畴,和上面几种用途分开看。

还有一种碰法是报错。浏览器报“代理服务器可能有问题”这类错误,通常是系统代理指向的地方没有程序在应答,排查步骤在这篇报错排查。

把流量交给代理之前

代理的运营者能看到多少,取决于你访问的是什么。明文 HTTP 全部可见,HTTPS 能看到域名、端口、时间和流量大小。想看到 HTTPS 里的内容,代理就得在中间解密。Squid 有这样的功能,它的文档同时写明,默认情况下大多数浏览器会向用户发出可能遭遇中间人攻击的警告[9]。单位电脑上不弹警告,多半是管理员预先装好了证书。

免费代理的运营者是谁、记不记日志,通常查不到。拿它登录账号,等于把这些信息交给一个不认识的人。免费代理 IP 能用吗那篇专门估了这类风险,也列了自查清单。

常见问题

开着代理登录网银,代理那头能看到我的密码吗?

正常情况下看不到。网银走 HTTPS,浏览器先用 CONNECT 请求让代理打通一条隧道,再和银行直接做 TLS 加密,代理只能看到域名、端口、时间和流量大小。例外是你的设备信任了代理方提供的证书,它才能在中间解密,所以别安装来路不明的证书。明文 HTTP 网站的内容,代理全都看得见。

用了代理以后,网站记下的是谁的 IP?

网站记下的是代理服务器的出口 IP。行业里叫“透明”的那一档代理,会在明文 HTTP 请求的 X-Forwarded-For 或 Forwarded 请求头里附上你的真实地址,网站读这个头就能知道你从哪来。HTTPS 请求的头在加密隧道里,代理加不进去。

单位电脑上的代理是谁设的,我能自己关掉吗?

多半是管理员通过“自动检测设置”或设置脚本(PAC 文件)下发的,位置在 Windows 的“网络 & Internet > 代理”。自己关掉可能导致内网系统打不开,也可能违反单位规定,动之前先问 IT。

网站用了反向代理,访问者要做什么设置吗?

什么都不用做。反向代理是网站运营方放在自己服务器前面的,对外表现得和源站一样,访问者照常输入网址就行,也察觉不到它的存在。

代理服务器都要花钱吗?

单位提供的上网代理对员工免费,本机上跑的代理客户端大多是开源软件,也不收钱。要付费的通常是远端的服务,比如业务用的代理 IP 和机场订阅。公开的免费代理查不到运营者是谁,本站不建议拿它登录任何账号。

资料来源与更新记录

  1. 中华人民共和国民法典(中央网信办网站转载新华社文本,2020-06-01) 中央网络安全和信息化委员会办公室 · 2026-10-20
  2. RFC 9110 HTTP Semantics(2022-06) IETF · 2026-10-20
  3. RFC 1928 SOCKS Protocol Version 5(1996-03) IETF · 2026-10-20
  4. RFC 7239 Forwarded HTTP Extension(2014-06) IETF · 2026-10-20
  5. Proxy servers and tunneling MDN Web Docs(Mozilla) · 2026-10-20
  6. Module ngx_http_proxy_module nginx · 2026-10-20
  7. Squid 项目首页 Squid Project · 2026-10-20
  8. Squid 配置指令 http_port Squid Project · 2026-10-20
  9. Feature: Squid-in-the-middle SSL Bump Squid Project · 2026-10-20
  10. WireGuard 官网首页 WireGuard · 2026-10-20
  11. Proxy support in Chrome(Chromium 网络文档) The Chromium Projects · 2026-10-20
  12. proxy.settings(Firefox WebExtensions API) MDN Web Docs(Mozilla) · 2026-10-20
  13. 代理端口(mihomo 文档) MetaCubeX · 2026-10-20
  14. Proxy Auto-Configuration (PAC) file MDN Web Docs(Mozilla) · 2026-10-20
  15. 在 Windows 中使用代理服务器 Microsoft 支持 · 2026-10-20
  1. DL 首次发布
下一篇 · 代理科普代理 IP 是什么