当基于时间的 PAC 规则选择代理时
PAC 中的时间规则在评估路由时选择代理。它并不承诺在某个精确的秒把现有连接切换到新出口。
你可以编写一条 PAC 规则,早上返回一个代理,之后返回另一个。但你不能据此推断每个现有浏览器连接都会在中午切换出口。
像 timeRange() 这样的函数参与路由决策。它们不是后台调度器,不会关闭隧道、迁移套接字,也不会要求代理服务商轮换其公网 IP。
请把三件事分开:
- 浏览器评估 PAC 并获得一条路由。
- 客户端按自身的网络规则建立或复用连接。
- 被选中的服务为其后续连接选择公网地址。
时间条件直接关系到第一件事。已经进行中的下载或长连接是另一回事。客户端缓存和连接复用也意味着“脚本里有时钟检查”不足以证明存在精确的切换时间表。
如果某项任务需要按会话、请求或时间窗口更换出口,请使用为该需求设计的接口,并核对其已记录的行为。PAC 可以在端点之间做选择,但它并不定义这些端点用各自出口地址做什么。
基于时间的路由对于有意的网络策略仍然有用。请把它描述为在评估时选择路由,而不是保证的 IP 轮换机制。