通过代理检查自有地区目录,打开详情后按浏览器后退,旧目录瞬间出现,甚至没有新的文档请求。这不能单独说明代理选错地区,浏览器可能从前进后退缓存bfcache恢复了先前页面。
验收应区分恢复状态与重新获取状态。本文提供获授权预发布环境的小型测试方案,不是浏览器性能实测或98IP保证。快速返回可以正确,陈旧内容或错误状态标签也可能是缺陷。
一、测新鲜度前先定义返回规则
选择自有目录,加入合成地区标记、两个已知条目ID及无害数据版本。约定后退应保留用户选区和筛选、刷新指定字段,还是改变上下文前先确认。网络推断地区与手动选区是不同输入,须明确优先级。
稳定状态与时效状态分开:保留滚动位置可能很好,过期可用性声明则可能需要重新校验。事先约定允许陈旧多久,以及加载、失败或确认状态,不从一次运行倒推阈值。
二、确认正在测试哪一种返回
bfcache可以从内存恢复整个页面及其JavaScript状态,它不同于HTTP响应缓存,也不同于Service Worker返回缓存响应。恢复页不一定发起新文档请求,但应用可能随后请求数据。
从目录A真正跨文档导航至自有详情B,再按浏览器后退。单页应用内部路由切换另列用例,不证明发生bfcache恢复。不要把后退换成刷新,却称为等价旅程。
在自有构建记录pageshow事件与persisted值。persisted为true说明本次从bfcache恢复;pagehide.persisted可表示尝试缓存,但不保证以后恢复。没有恢复的运行应归非恢复分支,不宣称覆盖了bfcache。
三、先建立线路不变的基准
- 记录浏览器、系统版本、应用构建、线路别名、账号地区、手动选区、存储状态及样本版本,保持正常安全设置。
- 加载目录A,记录可见地区、条目ID、数据版本、筛选和滚动位置,保留必要的小型网络日志。
- 进入B后按后退,记录pageshow.persisted、是否请求文档、后续数据请求与立即可见状态。
- 达到事先约定的稳定条件后再记录同样字段,不能混合立即结果与稳定结果。
- 在等价上下文中以基准线路和一条获批代理线路运行同一样本,不凭耗时判断缓存路径。
需要通过指定线路测试地区请求时,可用98IP动态住宅IP产品页确认产品背景,并在实际账号核对定位选项。代理不能强迫浏览器丢弃内存快照或发起新文档请求。已公布接入方式应按API配置页核对。
四、离开A期间只改变一个受控输入
先固定线路,仅在用户停留B时推进自有样本数据版本。后退后按新鲜度约定判断。恢复旧版本是观察,是否失败取决于承诺的重校验行为及期限。
另做离开A期间切换获批测试线路的用例,遵循客户端文档生命周期。先用新的授权探测确认改变确已生效,再解释后续请求;既有连接不一定采用刚选配置。尽量保留A的页面实例。若切换设置会重启浏览器,就不是同一种恢复实验,须另行标记。
不能假设IP变化就必须替换用户主动选区。若规则保留用户选择,旧地区标记可以正确;若承诺返回时采用当前网络默认地区,则检查实际重校验请求使用的线路,以及稳定标记是否符合既定决策。
五、把恢复与重校验分开检查
台账记录用例ID、原页面实例、初始数据版本、前后线路、pageshow.persisted、文档请求、数据请求、立即状态、稳定状态及预期规则。使用样本ID,不放客户记录或个人精确位置。
persisted为true且没有新请求,先检查恢复规则再归因代理。数据请求已返回新版本,页面仍显示旧版本,应查应用状态和过期回调。请求本身仍用旧线路,则另查客户端连接生命周期。persisted为false就检查重载路径,不与恢复结果混算。
重校验失败也应有可见产品结果,例如明确标记保留旧快照或要求重试,政策需事先决定。未注明的旧视图如果看似已重新验证,不能因为内容还算合理就通过。
六、在自有预发布构建验证检测能力
建议三个本地故障用例:跳过原本应执行的返回时重校验;接口返回新版但DOM留旧;新结果之后又到达迟到旧响应。确认报告能定位阶段,应用不会被迟到结果覆盖当前状态。这些演练未在本文中实际执行。
再以文档化测试设置做非恢复返回对照,并标明实际观察分支。不要为通过新鲜度测试而全局关闭浏览器优化,也不要移除生产隐私保护来强迫缓存。当前浏览器无法覆盖的分支,应保留为未测试。
常见问题与验收清单
没有文档请求就说明代理故障吗?不是,应结合生命周期、应用请求及预期返回规则。内存恢复不是经选定代理重新抓取。
后退后手动刷新正常就算通过吗?不能,刷新可能只证明另一条路径可用,同时掩盖恢复缺陷。
- 手动地区、网络默认值与新鲜度规则独立定义。
- 跨文档后退与应用软导航分别标记。
- 记录真实persisted分支,不用速度推断。
- 立即状态、重校验结果及稳定界面分别有证据。
- 线路改变在新请求上验证,不悄悄重启实验。
- 不支持或未覆盖的分支明确记为未测。
只使用自有或明确获授权页面、合成版本及少量请求预算。脱敏凭据和签名链接,限制证据留存,并注明浏览器覆盖范围。不从这些建议检查推导普遍缓存行为、定位精度、流量节省或业务结果。