登录 注册

代理服务器的类型:HTTP 和 SOCKS5 究竟有哪些区别详解

HTTP 代理与 SOCKS5 的区别:认证、CONNECT 隧道、DNS 和 UDP。附对比表、curl 示例,以及按任务选择协议和线路池的方法。

三条形状各异的发光隧道在黑暗的数据中心汇聚到一个拱门

“HTTP”“SOCKS4”和“SOCKS5”这些词出现在每个代理服务的说明里,您要据此判断线路能否在软件中工作。协议之间的区别归结为三件事:软件如何告诉代理连接到哪里,谁把域名转换成 IP 地址,服务器接下来如何处理流量。我们配合表格和示例分析全部四种协议,最后说明协议如何与地址来源搭配:从 MIX 套餐到住宅线路。

请求如何经过代理

任何代理都位于您的软件和网站之间。软件打开到代理的连接,代理打开到网站的连接,然后双向传输字节,所以网站看到的是代理的地址而不是您的。协议的区别在第一步:软件以什么形式把请求交给服务器。

HTTP软件代理网站GET http://site/…GET /…+ Via, X-Forwarded-ForHTTPS · CONNECT软件代理网站CONNECT site:443TLS 全程贯通代理只看到域名和流量SOCKS5软件代理网站用户名、密码、网站域名TCP 或 UDP 流socks5h:由代理解析域名
软件的第一条命令以及代理接下来的动作:HTTP 中读取请求,CONNECT 和 SOCKS5 中传输字节流。

HTTP 代理:完整读取请求

软件向 HTTP 代理发送普通请求,只是带完整地址:GET http://site/page。代理解析后自己访问网站并返回响应。由于服务器看到完整请求,它可以添加服务头 Via 和 X-Forwarded-For,后者包含您的真实 IP。

根据这些请求头,公共代理分为三个级别。透明代理把您的地址转发给网站。匿名代理隐藏地址,但请求头显示这是代理。高匿代理什么都不添加,对网站来说就像普通访客。免费列表标明每个地址的级别,“类型”列可筛选高匿和匿名代理。请在匿名检测页面检查您的线路:它会显示请求头和 WebRTC 泄露。

纯粹的 HTTP 协议用于未加密网站,而这样的网站几乎不剩了。所以实际上“HTTP 代理”指一种组合:http 地址用明文,其余都用 CONNECT 隧道。

HTTPS 代理:CONNECT 隧道

对加密网站,软件用 CONNECT site:443 命令请求代理打开隧道。代理回复 200 状态码,然后传输它无法查看的数据流:TLS 从您的软件直达网站。服务器只剩下域名、时间和流量。并没有单独的“HTTPS 代理”协议:它是允许 CONNECT 命令的 HTTP 代理,我们所有的 HTTP 线路都支持。

SOCKS4 和 SOCKS5:传输数据流

SOCKS 工作在更低一层,不查看 HTTP:软件说明目标地址,代理打开 TCP 连接,然后原样传输数据流。协议不在乎里面是什么:页面、邮件还是游戏流量。SOCKS4 只接受 IPv4 地址,没有密码,4a 版本学会了域名。两个版本都出现在旧软件中,新项目已由 SOCKS5 取代。

SOCKS5 增加了三样东西:用户名密码认证、IPv6 地址和域名,以及 UDP 传输。工作中有个常被遗忘的细节:您的机器和代理都可以把域名转换成 IP。如果由您的机器转换,DNS 查询从您的地址发出,这个痕迹会让匿名失效。在 curl 中由协议头决定:socks5:// 在客户端解析,socks5h:// 在代理解析。下面两条命令都输出线路的出口地址,第二条还隐藏 DNS:

curl -x "http://LOGIN:PASSWORD@HOST:PORT" https://ifconfig.me
curl --socks5-hostname "LOGIN:PASSWORD@HOST:PORT" https://ifconfig.me

流媒体、通话、游戏和 QUIC 需要通过 SOCKS5 的 UDP。我们的方案中 Resi Prime 支持,其他方案通过代理走 TCP。

关于现代网络的单独说明。越来越多网站使用基于 UDP 的 HTTP/3。通过不支持 UDP 的代理时,浏览器会自动回退到基于 TCP 的 HTTP/2,网站照常打开,只是没有速度优势。这里没有什么会坏,但如果浏览器控制台显示 h2 而不是预期的 h3,原因就在这里。

协议对比

属性HTTPCONNECTSOCKS4/4aSOCKS5
传输什么完整请求隧道TCP 流TCP 和 UDP 流
能看到内容能,http 网站不能不能不能
用户名和密码支持,Proxy-Authorization支持不能支持
用域名代替 IP支持支持仅 4a支持
IPv6支持支持不能支持
UDP不能不能不能支持
谁解析 DNS代理代理客户端,4a 为代理按协议头:socks5 或 socks5h

速度几乎不取决于协议:所有协议的额外开销都只是连接时的一次数据包交换。决定性的是地址来源和出口通道,而这是线路池的属性。同一协议在两个不同线路池上的表现,可见我们的德国地址测量:响应时间相差四倍半。

一条主干线缆在黑暗的服务器面板中分成多条彩色线路

协议和地址来源:两个独立的维度

买家常问 HTTP 和 SOCKS5 哪个“更可靠”。对网站来说没有区别:它看到来自代理地址的入站连接,不知道您用什么协议与服务器通信。线路的信誉来自地址来源:数据中心、家庭运营商或蜂窝网络。协议按软件选,来源按要使用的网站选。

方案什么地址协议
MIX 套餐最多 50,000 个 ip:port 的线路池,来源多样,按服务器 IP 授权HTTP、HTTPS、SOCKS4、SOCKS4a 和 SOCKS5 同一端口
Resi Core 和 Resi Prime家庭连接,200+ 和 220 个国家HTTP 和 SOCKS5,Prime 另有 UDP
Mobile Proxy4G 和 5G 蜂窝网络,可选国家HTTP 和 SOCKS5
ISP Proxy快速服务器上的美国运营商地址HTTP 和 SOCKS5
DC IPv4 和 DC IPv6美国数据中心,IPv6 用于支持它的网站HTTP 和 SOCKS5

在按 GB 计费的方案中,协议在后台创建列表时设定,线路已包含用户名、密码和端口。如果软件需要其他格式,请用代理转换器处理列表。

线路的写法

协议也体现在线路的写法上。软件接受两种形式的代理:带端口的地址或带协议头的完整链接。链接中协议在最前面,常被误认为是网站的协议:线路中的 http:// 说明如何连接代理,并不表示 https 网站打不开。

写法出现在哪里
ip:portMIX 套餐列表和公共列表,协议在软件中选择
host:port:login:password按 GB 方案的导出,反检测浏览器的四个字段
scheme://login:password@host:portcurl、Python、操作系统和扩展设置

SLP 检测器和我们的后台都接受这三种写法,如果软件只认一种格式,代理转换器可以改写整个列表:粘贴、选模板、下载。要在 Windows、macOS 或浏览器中手动填写线路,请看手动配置代理指南。

按任务如何选择

  • 采集和检测器。使用 socks5h 协议头的 SOCKS5,让 DNS 走代理,或用 HTTP:采集器两者都行。数千线程且不计流量选 MIX 套餐,需要精确位置选 Resi Core 线路。
  • 浏览器和反检测。使用 HTTP:Chromium 不向 SOCKS5 传递用户名和密码,这种线路的配置文件会断网。关于为账号选择线路池,更多内容见反向连接代理一文。
  • 流媒体、通话、游戏。需要 UDP,也就是 Resi Prime 上的 SOCKS5。
  • 没有密码字段的旧软件。MIX 套餐合适:按您服务器的 IP 授权,无处也无需输入用户名。

如何检查线路

出口地址和国家可在我的 IP 页面查看,请求头和匿名级别可用匿名检测查看。整个列表用 SLP 检测器或同一页面的 Linux 脚本更方便:它能识别 ip:port 和带用户名的线路,自动判断端口协议并标记失效线路。本文的 curl 命令我们在发布前已用存活线路运行过。

所有方案从同一余额支付:套餐按时长,其余按 GB,购买的流量有效期三个月。各用量的价格见方案对比页面。

继续阅读

房屋与夜晚城市之间发光的中继塔

代理

代理服务器有什么用:结合实际任务逐一进行详细的解析说明

“客户端和服务器之间的中介”这个定义什么也没解释:有意思的是为什么人们主动安装这个中介。我们从两边梳理真实任务:正向代理用于地理数据、采集和账号,反向代理用于网站防护和负载均衡,企业网关用于流量管控。附示意图和选择表。

1 分钟阅读
暖光照亮的小型家用服务器,一条线缆延伸向夜晚的城市

代理

VPS 上的自建代理服务器:安装 3proxy 并进行检查的方法

面向新手的分步指南:租用 VPS,运行现成的 3proxy bash 脚本,用第二个脚本从外部检查访问,并连接浏览器。结果是一个带密码的 HTTP 和 SOCKS5 个人 IP。最后坦诚说明自建服务器在什么情况下不如服务。

7 分钟阅读
网络面板墙上的大型开关已扳下,光路渐渐熄灭

代理

关闭代理的方法:Windows、macOS、浏览器和智能手机完整操作

一个被遗忘的代理选项会让上网变成碰运气:部分网站打不开,浏览器报连接错误,原因却看不出来。我们逐一检查代理可能开启的所有位置:Windows 和 macOS 系统设置、有独立选项的浏览器、智能手机和环境变量,最后确认流量确实直连。

1 分钟阅读

全部文章

价格 免费试用1小时