client/subscription · 集群 A · 订阅原理与格式 · 6/6

订阅里的流量与到期信息是怎么显示出来的:用户信息响应头解析

发布时间 待核实核实日期 待核实最近更新 待核实测试状态 Not Tested
Answer First · 核心结论

客户端里显示的已用流量、总流量和到期时间,通常来自服务端在订阅响应头中附带的用户信息字段,而不是客户端自己统计的。它只在每次更新订阅时刷新,客户端或转换环节不支持该字段时就不会显示,因此显示内容应以服务商后台为准,客户端数值只作参考。

流量与到期数据从哪来

客户端显示的流量与到期信息来自服务端,而非客户端自己计算。服务端在返回订阅内容的同时,在 HTTP 响应头里附带一个描述账号用量的字段,常见写法形如:

subscription-userinfo: upload=<已上传字节>; download=<已下载字节>; total=<总流量字节>; expire=<到期时间戳>

各字段含义:

字段 含义 单位 注意事项
upload 已用上行流量 字节 部分服务端上下行合并计费
download 已用下行流量 字节 通常是主要消耗部分
total 套餐总流量 字节 不限流量套餐可能给出一个很大的数或不提供
expire 到期时间 Unix 时间戳 不限时套餐可能不提供或为空

客户端拿到后,计算“已用 = upload + download”,“剩余 = total − 已用”,再把时间戳换算成日期显示。字段名与支持情况以具体客户端和服务端的实现为准。这个过程发生在订阅请求的“返回”环节,整体链路见 机场订阅链接是怎么工作的。

为什么显示的数值会过时

客户端只在更新订阅时读取一次响应头,两次更新之间的使用不会反映到界面上,所以显示的永远是“上次更新时的快照”。

举例说明时间线:

时间 ──────────────────────────────────────────────>
  更新订阅(读取:已用 X)
      │  ……持续使用,实际已用不断增加……
      │  客户端界面始终显示 X
      ▼
  下次更新订阅(读取:已用 X + 期间用量)

如果更新间隔较长,界面上的数值可能明显落后于实际。想看准确用量,手动更新一次订阅,或直接登录服务商后台。更新间隔的设置思路见 订阅更新间隔怎么设置。

为什么有时完全不显示

不显示通常不是订阅出错,而是“字段没送到”或“客户端不读”,可以按下面的顺序判断。

  1. 服务端没有提供:不是所有服务端都会附带该响应头。
  2. 客户端不支持:部分客户端或旧版本不读取该字段。
  3. 转换环节丢失:使用订阅转换时,转换后端可能没有透传原订阅的响应头,客户端拿到的是转换后端自己的响应。
  4. 合并配置:多订阅合并时,客户端可能只读取主配置的响应头,其他订阅的用量不显示,详见 多个机场订阅如何合并。
  5. 请求失败:本次更新失败,客户端保留旧数据或清空显示。

对于第 3 点,转换环节丢失信息只是表象,更值得关注的是原订阅被转换后端拉取这一事实本身,参见 订阅转换是什么。

显示数值与后台不一致的常见原因

客户端数值与后台不一致时,以后台为准;造成差异的原因通常是统计口径与时效,而不是“偷跑流量”。

现象 可能原因 建议
客户端已用少于后台 客户端数据是上次更新时的快照 手动更新订阅后再比较
已用明显大于本机统计 节点存在计费倍率,或多台设备共用订阅 查看服务商的倍率说明与在线设备
到期日相差一天左右 时间戳换算时区差异 以后台显示为准
总流量显示异常大 不限流量或不限时套餐的占位值 查看套餐说明
流量突然大幅增加 可能存在订阅泄露、他人在用 检查在线设备,必要时重置订阅

最后一种情况需要重视。如果你确认自己没有大量使用,但已用流量快速上涨,应优先排查订阅是否泄露,判断方法见 订阅链接泄露有哪些表现。节点倍率的含义可参考 节点与 IP 专题。

把它当作监控工具来用

用户信息响应头虽然有延迟,但仍是一个低成本的用量监控手段,配合定期查看后台,可以及早发现异常消耗。

  • 设定一个心理阈值,例如月中已用超过一半时留意用量去向;
  • 在多设备场景下,定期对比各设备的本地统计与后台用量;
  • 发现异常增长时,先手动更新确认,再登录后台核对在线设备与最近记录。

不同套餐类型的显示差异

不同类型的套餐,在客户端里的显示方式也不一样,理解这些差异可以避免把正常现象误判为异常。

套餐类型 总流量显示 到期时间显示 需要留意的点
按月重置流量的周期套餐 当期流量额度 套餐到期日 流量重置日可能与到期日不同
不限时套餐 总额度 可能不显示或显示占位值 以剩余流量为主要参考
年付套餐 通常为当期额度 年付到期日 每期重置后已用流量归零

尤其是年付套餐,客户端显示的到期日可能是一年后,而流量是按月重置的,两者不要混淆。价格类型与流量规则的口径说明可参考 价格与套餐 专题。

小结

客户端显示的流量与到期信息来自订阅响应头,是更新时刻的快照,不是实时数据;不显示多半是字段未提供、客户端不支持或转换环节丢失;不一致时以服务商后台为准。

选择套餐时,流量额度与价格类型同样重要,可以在 机场品牌库 查看各品牌入门套餐的流量资料,并通过 价格与套餐 专题了解流量单价与年付折算的计算口径。

常见问题

为什么客户端显示的剩余流量和后台不一样?

客户端的数值只在上一次更新订阅时获取,之后的使用不会实时反映;此外服务端可能有统计延迟或倍率换算,所以应以服务商后台显示为准。

为什么经过订阅转换后流量信息不见了?

用户信息位于原订阅的响应头中,如果转换后端没有把这个响应头透传给客户端,客户端就拿不到流量与到期数据。

客户端显示的流量是客户端自己统计的吗?

通常不是。客户端显示的是服务端告知的数值;部分客户端另有本地连接统计,那是本机实时流量,与套餐用量不是同一口径。

节点倍率会影响显示的流量吗?

可能会。如果服务商对某些节点按倍率计费,后台记录的已用流量会按倍率换算,客户端显示的也是换算后的结果,与本机实际传输量不一致。

信息来源与更新时间

信息来源
品牌清单资料(品牌公开信息整理)
测试范围
本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
发布时间
待核实
核实日期
待核实
最近更新
待核实

字段含义与数据状态见 字段说明;核查进度见 品牌动态与核查日志。