您通过代理启动解析器或加热账户,按页面大小计算消耗——结果账单比预期高出2-3倍。这并不是因为提供商欺骗您:流量包括所有实际通过通道的内容——请求头、TLS握手、重试连接和控制包。我们分析流量账单的组成以及如何在不降低工作质量的情况下减少消耗。
提供商实际上认为的流量是什么
当您“凭感觉”评估消耗时,脑海中通常会有一个公式:HTML页面的大小加上图片。但代理提供商计算的是通过通道的双向数据总量——出站(请求)和入站(响应)。这个总量不仅包括有效负载,还包括所有控制流量:协议头、TLS元数据、TCP确认包、超时重试连接。
对于一个普通页面的请求,“有效数据”与“控制数据”的比例可能是80/20。但如果您正在处理API,响应很小(几千字节的JSON),而头部和握手很多——比例很容易就会反转。这就是为什么进行数万次小请求的套利者,常常对账单感到惊讶:每个请求都带有固定的“税收”,无论有效负载的大小。
另一个重要的点是:提供商在代理服务器级别计算流量,也就是说,所有实际通过IP的流量——包括失败的尝试、重定向、页面上资源的重复加载(样式、脚本、跟踪器),即使您的脚本或浏览器只请求文本。
HTTP/HTTPS头:每个请求的隐藏重量
每个HTTP请求和每个响应都携带一组头部:User-Agent、Cookie、Accept-Language、Referer、Content-Type等数十个。在现代浏览器和反检测工具(Dolphin Anty、AdsPower、Multilogin)中,头部的大小可能从500字节到2-3KB不等——尤其是当Cookie中积累了数十个值时。
例如:如果您对市场API发出10,000个请求,使用1.5KB的会话Cookie,仅头部就会消耗大约15MB的流量——这还不包括响应体。在多个账户和配置文件上扩展时,这个数字会线性增长。
| 头部类型 | 平均大小 | 对流量的影响 |
|---|---|---|
| User-Agent | 100-150字节 | 低,但在规模上会累积 |
| Cookie(会话) | 500-2000字节 | 长会话时高 |
| Referer / Origin | 50-200字节 | 低 |
| Accept-*头部 | 150-300字节 | 低 |
| 服务器响应头 | 300-800字节 | 中等,不依赖于您 |
实际结论:如果您正在编写用于监控Wildberries或Ozon价格的脚本,请清理Cookie中的未使用值,不要在请求中携带从浏览器DevTools中“随便”复制的多余头部。
TLS握手:加密消耗多少流量
几乎所有现代网络都通过HTTPS工作,这意味着每个新连接都以TLS握手开始——证书、加密密钥和协议参数的交换。一个完整的TLS握手(TLS 1.2或1.3)根据网站证书的大小和使用的协议扩展,大小从4到8KB不等。
如果您对每个请求都打开一个新连接(而不是使用持久连接),TLS握手会每次重复。在没有重用连接的情况下进行10,000个请求,您将仅在加密上额外消耗40-80MB的流量——这可能超过有效内容本身的大小。
TLS 1.3比TLS 1.2稍微轻一些,因为减少了往返次数,但只有在大量连接的情况下差异才明显。对于移动代理,运营商网络本身增加了延迟和会话重置,TLS开销尤其明显——在选择移动代理时需要考虑这一点,以应对频繁的短请求。
重试:重复请求如何使消耗翻倍
重试是流量消耗中最不显眼但最昂贵的部分。如果您的解析器或脚本在超时或错误429/503时设置为自动重试,每个失败的请求已经消耗了用于建立连接、TLS握手和头部的流量——然后整个过程又会重复一次。
在SMM自动化和市场解析中的一个常见错误是,在IP被阻止的第一个迹象时,重试的激进策略没有指数延迟:脚本在每次阻止时连续尝试5次,每次间隔1秒。结果是一个“有效”响应消耗了五次失败尝试的流量,加上最后一次成功请求的流量。
在使用数据中心代理访问具有激进保护的网站(例如Avito或大型市场)时,这一点尤其关键,这些网站可能会对来自“热”IP的大多数请求返回验证码或阻止。在这种情况下,值得考虑住宅代理——它们在第一次请求时更少被阻止,从而减少重试次数,并相应地降低实际流量消耗。
保持连接与新连接
HTTP保持连接允许重用一个TCP/TLS连接进行多个连续请求,避免重复握手。这是几乎所有HTTP客户端和反检测浏览器中可用的最有效的流量优化之一。
如果您使用解析库(requests、httpx、axios)而没有明确指定持久连接的会话,则每个请求默认可能会打开一个新的TCP连接。与代理结合使用时,这意味着:到代理服务器的新连接,到目标网站的新TLS连接,所有开销在每次调用时都会重复。
| 连接模式 | 1000个请求的开销 |
|---|---|
| 每个请求的新连接 | 4-8MB(仅TLS) |
| 保持连接,50个请求一个会话 | 0.1-0.2MB(每组一个握手) |
差异是几倍——这是纯粹的流量节省,而不改变请求的有效负载。
不同类型代理如何计算流量
流量计费模型取决于代理类型。数据中心代理通常按流量或IP/端口数量计费——基础设施更快,路由开销最小。住宅和移动代理的流量通常计费更严格,因为用户的真实IP是更昂贵和有限的资源,而通过运营商或家庭提供商的路由增加了额外的跳数,因此相应地增加了一些控制数据。
在这方面,移动代理是流量中“最昂贵”的:蜂窝网络增加了自己的会话重置机制、NAT转换,有时还会在运营商级别进行流量压缩/解压,这使得通过固定网络的相同请求相比,经过的流量计数增加。
如果任务是稳定的高请求量,且希望最小化开销(例如,大规模解析Wildberries或Ozon的价格),那么数据中心代理更适合——它们在同类任务上的流量消耗更快且更可预测。
如何在实践中减少流量消耗
我们将讨论减少实际流量消耗而不损失解析器、自动化或多账户功能的具体步骤。
1. 禁用不必要的资源加载。 如果您只需要页面文本或API的JSON响应,请在反检测浏览器或无头工具的设置中禁用图像、字体、分析脚本和广告跟踪器的加载。这通常可以将解析任务的流量消耗降低60-80%。
2. 使用保持连接和连接池。 将HTTP客户端配置为重用会话以进行对同一主机的一组请求——这大大减少了TLS握手的次数。
3. 设置合理的重试策略。 指数延迟(1秒→2秒→4秒)限制在3次尝试,而不是激进的连续5-10次尝试,可以减少因失败请求而产生的无用流量,同时降低额外阻止IP的风险。
4. 清理Cookie和会话头部。 定期删除未被目标网站使用的Cookie中积累的值——这对于通过反检测浏览器进行Instagram或TikTok账户加热的长会话尤为重要。
5. 缓存静态响应。 如果数据(例如,产品目录)不是每分钟都变化,请在每次监控周期中将响应缓存到本地,而不是每次都通过代理重复请求。
6. 使用压缩。 确保Accept-Encoding: gzip头部被传递,并且服务器确实返回压缩的响应——这可以减少文本或JSON较多的页面的入站流量。
流量监控工具
为了了解流量的真实去向,查看提供商的计数器并不够,还需要详细分析请求。适合的工具包括:
- Charles Proxy / Fiddler——显示每个请求和响应的大小,包括头部,有助于找到“沉重”的Cookie或多余的资源。
- Wireshark——用于深入分析TCP/TLS开销的包级别,如果需要评估握手的实际重量。
- 反检测浏览器中的内置流量计数器(Dolphin Anty、AdsPower、GoLogin)——许多工具显示每个配置文件的消耗,方便在账户之间分配预算。
- HTTP客户端级别的日志记录——在编写自己的解析脚本时,记录每次调用的请求/响应大小,以便发现异常。
将您的工具的读数与代理提供商的计数器进行比较,有助于快速了解流量的损失——是在重试、TLS还是加载多余资源上。
启动前的优化检查清单
在大规模启动解析器、SMM自动化或加热广告账户之前,请检查以下简短清单:
- 在不需要的地方禁用了图像、字体和分析的加载;
- 为对同一主机的一系列请求设置了保持连接/重用会话;
- 重试策略限制在2-3次尝试,带有延迟,而不是无限重复;
- 会话Cookie定期清理未使用的值;
- 启用了响应压缩(gzip/deflate/br);
- 对重复的静态请求进行了本地缓存;
- 根据任务选择了代理类型:数据中心用于速度和流量,住宅用于绕过阻止,移动用于社交媒体和广告平台。
结论
通过代理的流量消耗不仅包括页面的有效数据,还有所有的控制开销:头部、TLS握手、错误时的重试。理解这一机制可以更准确地规划代理预算,避免在扩展市场解析、SMM自动化或加热广告账户时出现不愉快的账单惊喜。
如果您的任务是稳定解析并具有可预测的流量消耗,请关注数据中心代理。对于社交媒体和广告平台,低阻止频率至关重要,最好选择移动代理。而如果需要在匿名性和稳定性之间取得平衡,以绕过网站保护——请考虑住宅代理,它们通过更少的阻止减少重试次数。